面试题答案
一键面试参数验证需考虑的方面
- 参数类型:需明确每个参数应符合的具体类型,如字符串、数字等。不同的数据操作可能对参数类型有严格要求,例如
SET
操作的键和值通常为字符串类型,若传入非字符串类型参数可能导致错误。 - 参数数量:不同的Redis命令或自定义逻辑对参数数量有特定要求。例如
GET
命令只需一个键作为参数,若传入过多或过少参数都无法正确执行。 - 参数范围:某些参数可能存在取值范围限制,比如表示数据库索引的参数通常为非负整数且在合理的数据库索引范围内。
- 参数格式:特定参数可能有特定格式要求,如IP地址参数需符合IP地址的格式规范。
在Lua脚本中对参数数量进行简单验证
在Lua脚本中,可通过#ARGV
来获取传入脚本的参数数量(ARGV
是Lua脚本中用于存储传入参数的数组)。示例如下:
-- 假设期望传入2个参数
if #ARGV ~= 2 then
return {false, "参数数量不正确,期望2个参数"}
end
-- 脚本后续逻辑
在上述脚本中,首先通过#ARGV
获取参数数量,然后与期望的参数数量2进行比较。若不相等,则返回错误信息,脚本停止执行后续逻辑。