我正在使用redis从服务器获取数据。
我正在创建具有这样结构的跟随流
Sadd user_following_key user1_id, user2_id, user3_id
#data which i want to access is stored like this
zadd user1_id_key data1
zadd user2_id_key data2
#And data1 data2 ... are set which is stored like this
Set data1 some_data
set data2 some_data
我想访问data1 data2 ...和some_data而不运行循环over user_following_key返回数据,如果两个或多个键相同,那么只有一个应该来。
答案 0 :(得分:1)
换句话说,对于user_id
中的每个user_following_key
,您希望访问相关的user_id
密钥,从中检索data
密钥名称,然后获取值data
键。在这种情况下,您必须在此解除引用链中循环遍历user_following_key
(以及每个多值键)的内容,并且每个深度/长度都有多个调用。
注意:在类似情况下,Lua可用于减少网络流量和延迟,但由于您实际上是以编程方式处理脚本中的密钥名称(ieg user_id1
),它将使脚本在Redis集群和最佳实践方面不安全。