首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从Redis散列中获取多条记录

如何从Redis散列中获取多条记录
EN

Stack Overflow用户
提问于 2015-12-03 07:23:13
回答 2查看 1.7K关注 0票数 1

我在redis散列中存储了一些键值对。

代码语言:javascript
复制
hmset employee:1 name clarke age 24 status 1
hmset employee:2 name danne age 42 status 0
hmset employee:3 name sachin age 38 status 1
hmset employee:4 name pasty age 27 status 1
hmset employee:5 name cake age 39 status 0
hmset employee:6 name mike age 20 status 1

代码语言:javascript
复制
hmget employee:1 name age status

这得到了个别员工,但我如何才能进入范围。我的意思是在上面的例子中有6份员工记录。那么,我如何具体说明我需要1-3或3-6记录的限制。

类似于MySQL中的限制2 4

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-12-08 12:17:57

如果您有一组it,则可以对其使用排序。

代码语言:javascript
复制
hmset employee:1 name clarke age 24 status 1
sadd employees 1
hmset employee:2 name danne age 42 status 0
sadd employees 2
hmset employee:3 name sachin age 38 status 1
sadd employees 3
hmset employee:4 name pasty age 27 status 1
sadd employees 4
hmset employee:5 name cake age 39 status 0
sadd employees 5
hmset employee:6 name mike age 20 status 1
sadd employees 6

为了获得数据:

代码语言:javascript
复制
> sort employees get # get employee:*->name get employee:*->age get employee:*->stat
us
 1) "1"
 2) "clarke"
 3) "24"
 4) "1"
 5) "2"
 6) "danne"
 7) "42"
 8) "0"
 9) "3"
10) "sachin"
11) "38"
12) "1"
13) "4"
14) "pasty"
15) "27"
16) "1"
17) "5"
18) "cake"
19) "39"
20) "0"
21) "6"
22) "mike"
23) "20"
24) "1"
票数 1
EN

Stack Overflow用户

发布于 2015-12-03 07:40:32

在Redis中,您提到的散列可以看作是不同的顶级键。因此,不可能给出一个范围。如果你随身带了散列名,你就得一个一个地得到它。

但是,如果您没有哈希名称,那么Redis在keys命令中支持regex,您可以创建一个适当的regex来传递这个命令,以获得您想要的散列名称,然后逐个获取。

但是,如果您仍然希望在1调用中执行此操作,Redis还提供了运行Lua脚本的支持,在那里您可以一次获取所有记录。这里有一个指向教程的链接

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34060039

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档