
正文
redistagkey设计,redis key设计
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
JedisPool和ShardedJedisPool有什么区别
使用redis-trib.rb,这个是安装redis时就自带的一种集群,采用了服务端分片的方式。Jedis使用JedisCluster类来访问。使用Jedis带的客户端分片ShardedJedisPool类。
发布者和订阅者都是Redis客户端,Channel则为Redis服务器端,发布者将消息发送到某个的频道,订阅了这个频道的订阅者就能接收到这条消息。Redis的这种发布订阅机制与基于主题的发布订阅类似,Channel相当于主题。
用的是什么集群方式,JedisSentinelPool 还是ShardedJedisPool。如果用的是前者,配置是需要连接sentinel端口的(默认26379),不是连接redis端口(6379)。或者把spring相关配置文件贴出来一下。
在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。
除了要保存节点和槽的一一对应关系,还要为每个节点建立一个对象池JedisPool,并保存在map。这个类主要用于保存集群的配置信息,并且是JedisCluster初始化部分的核心所在。
相关问答
Q1: 利用Redis设计库存系统的苦与乐
我们先在Redis中拿到当前的库存值,然后check是否已经扣减到了零,如果已经扣减到了零,则直接return;否则,就利用Redis的decr原子操作进行扣减,同时返回扣减后的库存值。
内存使用效率对比:使用简单的key-value存储的话,Memcached的内存利用率更高,而如果Redis采用hash结构来做key-value存储,由于其组合式的压缩,其内存利用率会高于Memcached。
redis 做流计算太过勉强,一是根据业务上的需求,需要统计的key 至少有几亿个,最多也有几十亿个,另外redis 中需要存储少量的交易的信息。
本书不要求读者有任何Redis使用经验,对入门与进阶DevOps的开发者提供有价值的帮助。
库存全部放在redis是可取的。商品的库存全部放入redis,库存的读取直接读取redis,到了下单环节,库存的扣除也直接在redis扣除,通过消息队列通知后端数据库,最终把库存的扣减异步同步到后台数据库,避免了对数据库的瞬时压力。
Q2: Redis集群方案应该怎么做
1、ShardedJedis支持keyTagPattern模式抽取key的一部分keyTag做sharding,这样通过合理命名key,可以将一组相关联的key放入同一Redis节点,避免跨节点访问。即客户端将相同规则的key值,指定存储在同一Redis节点上。
2、连接如下https://redis.io/topics/cluster-tutorial以下步骤是在一台 Linux 服务器上搭建有6个节点的 Redis集群。
3、通过局域网连接集群系统中的单个计算机节点,使之同时完成同一个工作,以达到高工作效率、高计算速度和高可靠性能。
4、为了增加集群的可访问性,官方推荐的方案是将node配置成主从结构,即一个master主节点,挂n个slave从节点。如果主节点失效,redis cluster会根据选举算法从slave节点中选择一个上升为master节点,整个集群继续对外提供服务。
redistagkey设计的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于redis key设计、redistagkey设计的信息别忘了在本站进行查找喔。






