首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从redis中存储和检索对象?

从redis中存储和检索对象?
EN

Stack Overflow用户
提问于 2014-07-08 11:11:22
回答 1查看 1.3K关注 0票数 0

我有几个有名字和身份的山体。

我把这些东西存储成这样

代码语言:javascript
复制
HMSET Mountain:1 id "1" name "Mo1"
HMSET Mountain:2 id "2" name "Mo2"
HMSET Mountain:3 id "3" name "Mo2"

我怎么才能买到所有的山体?或者有什么更好的方法将对象存储在redis中?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-08 11:25:39

您应该使用2命令来完成该操作:

代码语言:javascript
复制
KEYS Mountain:*
HGETALL <everykeys>

但是,如果可以的话,最好不要使用KEYS命令,所以您可以这样做:

代码语言:javascript
复制
HMSET Mountain:1 id "1" name "Mo1"
SADD Montains Mountain:1
HMSET Mountain:2 id "2" name "Mo2"
SADD Montains Mountain:2
HMSET Mountain:3 id "3" name "Mo3"
SADD Montains Mountain:3

得到它:

代码语言:javascript
复制
SMEMBERS Mountain
HGETALL <everykeys>

Redis是一个具有额外数据类型的键/值系统,因此您必须构建索引以便具有名称索引--例如,如果名称是唯一的:

代码语言:javascript
复制
HSET Mountains:IdByName "Mo3" 3

你会得到身份证:

代码语言:javascript
复制
HGET Mountains:IdByName "Mo3"

对于非唯一的,让我们再次使用set

代码语言:javascript
复制
SADD Mountains:IdByName:Mo3 3

你会增加钥匙的数量,那就是为什么不推荐钥匙,因为太贵了。

下一步是使用lua脚本从/和索引中设置/设置散列

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

https://stackoverflow.com/questions/24630297

复制
相关文章

相似问题

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