我有一个用户的信息,我已经存储在哈希中。我将他的许可信息存储在Set中
我想测试Set上的条件,检索Key,然后使用Hash中检索到的Key获取实际值。
我怎么能这样做?
我是否必须使用Lua脚本来实现上述目标,还是有其他方式?
答案 0 :(得分:1)
在这种情况下,您必须使用多个请求来执行此操作。虽然Lua 出现,但您的要求 - 即根据另一个密钥的值获取密钥 - 排除了单个脚本,因为密钥名称应该明确传递。
答案 1 :(得分:0)
我有同样的要求,我找不到任何其他方法来做到这一点。 LUI管道和事务功能是一步执行多个命令的其他工具,但对于您希望获取值并基于它执行命令的情况,唯一的方法仍然是LUA !!
答案 2 :(得分:0)
您可以使用哈希来处理用户信息及其权限(在相同的哈希中)。在这种情况下,当您拥有userId
时,您可以使用userId
和permissionKey
一次性检索权限。请参阅下面的示例,我将权限设置为字符串(在您的情况下将其设置为Set):
redis> HSET userId permissionKey "perm1, perm2, perm3"
redis> HGET userId permissionKey
"perm1, perm2, perm3"
希望这对你有所帮助。