database - 如何使用哈希在redis中存储这些数据

标签 database nosql redis

我想存储一个与此类似的结构。 这个想法是可以提取所有具有相同 ID 的描述,我在 reddis 中没有看到很多示例,我认为文档非常基础。谁能告诉我?

user:id:12:description:"nice"
user:id:12:description:"bad"
user:id:15:description:"nothing_especial"
...

我知道这可以通过 hset 实现,我尝试过类似的方法:

hset user id 12
hset user description "nice"
...

但问题是,当我尝试在不同时间插入相同的键时,HSET 覆盖了内容值,最后我得到了相同但具有不同的值

在文档中我看到了一个示例,但使用的是 Set,是这样的(我不明白他们为什么使用简单的集合....):

$ redis-cli set news:1:title "Redis is simple"
OK
$ redis-cli set news:1:url "http://code.google.com/p/redis"
OK
$ redis-cli lpush submitted.news 1

最佳答案

我做了这个,起初我想到了这个,但它的局限性是因为我不能为每个用户提供一个以上的描述:

hset user id:1:deal "yeaaaaaaaah"
hset user id:1:description "sometifjjapodsifj"


hget user id:1:deal
    >yeaaaaaaaah
hget user id:1:description
    >sometifjjapodsifj

最后的解决方案是这样的:

hset user1 description1 "asdoifjasdpofjaspdo"
hset user1 description2 "aosdifj"
hset user2 description1 "asdoijfaodsifj"
hset user2 description2 "asdoifjaposdifjaposdifjasdf"

hgetall user2
    >description1=asdoijfaodsifj
    >description2=asdoifjaposdifjaposdifjasdf

关于database - 如何使用哈希在redis中存储这些数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13160540/

相关文章:

java - 无法通过 ssh 隧道通过 Jedis 连接到 redis

redis - 如何在 Gitlab CI .gitlab-ci.yml 中使用 redis dockerhub 作为服务?

database - SAS:按照几个过程生成输出数据库

php - 添加新文档时自动生成 ID

php - 如何使用 for 循环将数据从 csv 表插入到 sql 数据库?

mysql - 考虑从MySQL切换到Cassandra或MongoDB以获取临时元数据

ruby-on-rails - rake 数据库 :migrate returning error rake db:migrate

database - 为 500,000 个用户存储权重对的最佳方式?

time-series - KairosDB 标签要求

Redis 缓存 - 获取初始超时设置