Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Redis-按多个键进行查询_Redis_<img Src="//i.stack.imgur.com/WM7S8.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">servicestack.redis - Fatal编程技术网 servicestack.redis,Redis,servicestack.redis" /> servicestack.redis,Redis,servicestack.redis" />

Redis-按多个键进行查询

Redis-按多个键进行查询,redis,servicestack.redis,Redis,servicestack.redis,我使用redis通过登录时生成的guid存储用户会话。我将其用作会话对象中的键 如果我要锁定一个用户的帐户,我当前必须检查所有会话,检查它们是否是该用户的帐户,然后删除它们 是否有一种方法也可以通过用户id进行查询?我应该只使用标准键值的排序集吗?遍历所有键可能不是最好的主意。您可以将每个用户会话的guid存储在另一个键中(设置的数据类型似乎是最好的选择),并在用户打开/关闭会话时添加/删除。因此,当用户打开新会话时,您将: SET session:<guid> <sessio

我使用redis通过登录时生成的guid存储用户会话。我将其用作会话对象中的键

如果我要锁定一个用户的帐户,我当前必须检查所有会话,检查它们是否是该用户的帐户,然后删除它们


是否有一种方法也可以通过用户id进行查询?我应该只使用标准键值的排序集吗?

遍历所有键可能不是最好的主意。您可以将每个用户会话的guid存储在另一个键中(设置的数据类型似乎是最好的选择),并在用户打开/关闭会话时添加/删除。因此,当用户打开新会话时,您将:

SET session:<guid> <session_object>
SADD user_sessions:<user_id> <session_guid>
设置会话:
SADD用户会话:
当会话关闭时,您将执行以下操作:

DEL session:<guid>
SREM user_sessions:<user_id> <session_guid>
DEL会话:
SREM用户会话:
要查找哪些会话GUID是用户的,例如帐户锁定,请执行以下操作:

SMEMBERS sessions:<user_id>
SMEMBERS会话:

谢谢,这与我最终实现的目标非常接近