redis
勤奋创造幸福但方向要正确
这个作者很懒,什么都没留下…
展开
-
从源码层面分析shardedJedis使用虚拟节点如何实现负载均衡
转载:https://www.iteblog.com/archives/2499.htmlhttp://www.zsythink.net/archives/1182上面两篇文章对一致性哈希算法的原理讲的非常好,但对虚拟节点方面讲的粒度比较粗,下面我结合ShardedJedis的源码,简单说下自己的理解。当我们的项目启动好之后,根据业务的需要,去操作redis服务器时,需要通过这个命令S...原创 2019-06-05 11:42:43 · 266 阅读 · 0 评论 -
redis实现分布式锁的迭代演进
1. redis分布式锁主要是由以下4个命令实现的:a. setnx:是set if not exists的缩写,也就是当该key在redis中不存在的时候才放入redis中,这个步骤分为两步:首先判断该key是否存在,若不存在,则放入;这两步操作是个原子操作,所以这个命令能够实现锁的效果;b. getset:这个命令先根据key执行get操作,再执行set操作,这个命令的作用是:先获取原...原创 2019-06-07 13:47:33 · 347 阅读 · 1 评论 -
简单聊聊实现redis分布式的两种方式--ShardedJedis和redis cluster
首先要说下哈:这篇文章是由自己的理解整理而成,由于自己的理解有限,难免会有疏忽之处,若有不对的地方,还望大神指点一二。若要实现redis分布式,在我看来,有常用的两种方式:a. 使用ShardedJedis--客户端分片;b. 使用redis cluster--服务端分片。下面简单说下,这两种实现方式的优缺点:1. 使用ShardedJedis:2. 使用redis cluster:...原创 2019-06-04 17:36:59 · 1373 阅读 · 0 评论 -
用HashedWheelTimer + Redis + RocketMQ发送未来任意时间精度的延迟消息
在目前开源的RockeMQ版本中,并不支持发送任意时间精度的延迟消息。上次面试,碰到这样的面试题---如果要发送任意时间精度的延迟消息,该如何做?当时回答的不好。今天通过查资料,把这种操作简单落地了。具体的做法是:1. 生产延迟消息:延迟消息由两部分组成--该笔消息的订单号key+业务数据value;2. 存储消息:当把延迟消息组装好之后,把该消息(key,value)放入redis中...原创 2019-06-29 14:40:35 · 1782 阅读 · 4 评论