Go游戏服务器开发的一些思考(七):Redis

Redis

在使用Redis时,有些细节必须了解,这样才能更好的指导程序员使用Redis做开发

Redis是单线程的

Redis业务逻辑是在一个线程中进行的。了解这点非常重要。

在使用Redis命令时,对于时间复杂度为O(n)的命令,心中需要有个警钟,这里n的规模会是多大。若应用场景中n的规模会很大,则把这个命令写进代码,对于Redis来说是个灾难。

Redis集群中的请求重定向

客户端向Redis集群中的某台redis请求数据时,若该台redis上没有这条数据,该redis会把这数据所在的redis地址返回给客户端。客户端需根据返回的地址,重新向该地址的redis请求数据。

因此对redis集群的查询可能会出现2次查询。不过也有些客户端封装的比较好,内部维护一个redis插槽对应表,属于Smart客户端。这种客户端绝大多数都是1次查询

Redis集群不支持跨机命令

由于数据是分散在多台redis上的,像keys、mget、mset、事务等命令,Redis集群支持是不完整的。使用这种命令要小心,除非你明确所有的数据都在同一台redis上

单台Redis的内存不是越大越好

redis的内存越大,redis在做持久化时需要消耗的资源会越多、时间会越长。一个合理的redis内存应该在3-6G即可

Redis集群中redis台数不是越多越好

redis集群内部做状态同步,在台数足够多时,会占不少带宽。一般redis台数在1000左右

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fananchong2

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值