首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Redis集群RTT

Redis集群RTT
EN

Server Fault用户
提问于 2013-12-05 07:57:52
回答 1查看 274关注 0票数 0

我们目前使用Redis作为我们的数据存储。我正在做一个新的部分,我们需要排名和分页用户。因此,我正在考虑使用排序集保持排名和用户标识。以及用于保存用户配置文件数据的哈希。一位同事提请我注意,我们需要向redis提出许多请求,以便使用HGET获取用户配置文件数据。所以往返时间将是一个问题。我计划使用HMGET,但是在做了一些研究之后,我发现当Redis集群时,它可能会引起问题,因为密钥存储在不同的redis节点中。我使用phpredis,它有客户端切分(我很难理解它是什么)。

我想这样做:

代码语言:javascript
复制
zadd userRank 1 5
zadd userRank 2 2
zadd userRank 3 4
zadd userRank 4 3

userProfile

代码语言:javascript
复制
hset userProfile user:5 "{'userId':'5','name':'usera'}"
hset userProfile user:4 "{'userId':'4','name':'userb'}"
hset userProfile user:3 "{'userId':'3','name':'userc'}"
hset userProfile user:2 "{'userId':'2','name':'userb'}"

1) HMGET在集群Redis中正常工作吗?

2)如果没有,我能做些什么?

3)是否有更好的方法来实现这一点?

EN

回答 1

Server Fault用户

回答已采纳

发布于 2013-12-06 14:43:19

  1. HMGET应该在集群Redis中工作,因为它只与一个键相关。每个HMGET将被转发到包含密钥的节点。
  2. /
  3. 将每个序列化的用户存储在散列表中并不是一个好主意,您将失去请求/inc/dec的能力。

更喜欢:

代码语言:javascript
复制
hmset user:5 userId 5 name usera
hmset user:4 userId 4 name userb
hmset user:3 userId 3 name userc
hmset user:2 userId 2 name userb

你的排名模式没问题。要在排名最高的用户之间检索和分页,只需执行一个兹伦贝斯克,然后请求每个用户。

注意:聚类切分不一样。

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

https://serverfault.com/questions/559391

复制
相关文章

相似问题

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