我在redis中有一个包含一系列ID的列表。每个id对于单个对象是唯一的,我将其作为JSON字符串存储在单独的密钥上。
所以我有类似的东西:
redis> LRANGE mylist 0 -1
1) "one"
2) "two"
3) "three"
我有单独的密钥mylist:one
,mylist:two
,mylist:three
。
我将id保存到列表中,以便在我的应用程序上构建一个简单的FIFO队列。
获取mylist中所有id的最有效方法是什么,以及每个键的匹配值是什么?有没有更好的方法呢?
答案 0 :(得分:2)
最有效的方法可能是使用SORT command:
# Populate list
rpush mylist one two three
set mylist:one 1
set mylist:two 2
set mylist:three 3
# Retrieve all items with their corresponding values
sort mylist by nosort get # get mylist:*
1) "one"
2) "1"
3) "two"
4) "2"
5) "three"
6) "3"