Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 741e329

Browse files
committed
fix jedis readme
1 parent 0a1e8d2 commit 741e329

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

springboot-jedis-sample/README.md

+5-2
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ RESP底层采用TCP的连接方式,通过TCP进行传输数据,根据解析
6565
#### Redis持久化
6666
持久化的作用,当Redis服务宕机或异常崩溃时,可以通过持久化文件进行数据恢复。
6767

68-
##### 1、RDB
68+
#### 1、RDB
6969
把当前数据生成快照,保存到磁盘上,rdb持久化可以手动触发,也可以自动触发
7070

7171
**RDB手动触发命令:**
@@ -90,7 +90,7 @@ RDB文件是一个紧密的二进制压缩文件,是Redis在某个时间点的
9090
**RDB缺点:**
9191
每次进行bgsave操作都需要只想fork操作创建子进程,属于重量级操作,频繁执行成本较高,所以无法做到实时持久化,或者是秒级持久化。
9292

93-
##### 2、AOF
93+
#### 2、AOF
9494
AOF(Append Only File)持久化是把每次写的命令追加写入日志中,当需要数据时重新执行AOF文件中的命令就可以了。AOF解决了数据持久化的实时性。
9595

9696
**AOF持久化流程:**
@@ -133,7 +133,10 @@ gossip协议包含多种消息,包括:ping、pong、meet、fail等:
133133
> - pong:返回ping和meet,包含自己的状态和其他信息,也可以用于信息广播和更新;
134134
> - fail:某个节点判断另一个节点fail之后,就发送fail给其他节点,通知其他节点指定的节点宕机了;
135135
136+
------------
137+
136138
**面向集群的Jedis内部实现原理:**
139+
137140
1、基于Redis客户端,redis-cli -c指令,客户端可能会挑选任意一个redis实例去发送命令,每个redis实例收到命令,都会计算key对应的hash slot,如果在本地就直接执行,负责返回moved给客户端,让客户端进行重定向到hash slot所在的集群;
138141

139142
2、基于JedisCluster的原理,在JedisCluster初始化的时候,就会随机一个node,初始化hashslot -> node 映射表,同时为每个节点创建一个JedisPool连接池。每次基于JedisCluster执行操作,首先JedisCluster都会在本地计算key的hash slot,然后在本地映射表中找到对应的节点。如果redis cluster中的slot产生变化时,JedisCluster执行已经不存在那个node上的key,就会返回moved,那么利用该节点的元数据,更新hash slot -> node 映射表缓存;

0 commit comments

Comments
 (0)