添加空key到redis

添加空key到redis,第1张

添加空key可以到redis。最近把 AirNet 中的空气质量排行换成了用 Zset 实现,这篇笔记就来深入了解下 Zset 的底层实现原理。在通过 ZADD 命令添加第一个元素到空 key 时, Redis 会通过检查输入的第一个元素来决定使用何种编码。如果第一个元素符合以下条件的话, 就创建一个 REDIS_ENCODING_ZIPLIST 编码的 Zset:服务器属性server.zset_max_ziplist_entries 的值大于 0 (默认为 128 )。元素的 member 长度小于服务器属性 server.zset_max_ziplist_value 的值(默认为 64 )。所以,添加空key可以到redis。

1、String类型是Redis最基本的数据类型,一个Redis字符串Value最多是512M。

2、,String的数据结构是简单的动态字符串,是可以修改的字符串,内部结构实现上。

首先新增需要添加的节点,这里添加7007 和 7008

修改一些配置文件信息,参考集群配置。

然后启动相应的节点

127.0.0.1:7007 是新增节点

127.0.0.1:7001 是已经新增集群节点(这里可以随便写一个已知的集群节点 ip : port )

redis-trib.rb add-node 127.0.0.1:7007 127.0.0.1:7001

添加7007到集群

redis-cli -c -p 7001 cluster nodes

增加了新的节点之后,这个新的节点可以成为主节点或者是从节点。

使用redis-trib程序,将集群中的某些哈希槽移动到新节点里面, 这个新节点就成为真正的主节点了

redis-trib.rb reshard 127.0.0.1:7001

系统返回信息会提示我们要移动多少哈希槽,这里移动200个

然后 需要指定把这些哈希槽转移到哪个节点上

当然是转移到新增的节点上

输入我们刚才新增的节点的ID

选择选择槽的方式

输入 all 表示从所有的主节点中随机转移,凑够200个哈希槽

然后再输入 yes ,redis集群就开始分配哈希槽了。

输入 done 表示把指定主节点上的槽分配给新节点.。

打印出随机选择的槽

输入yesr进行分配

查看新增主节点

分配成功

添加7008到集群中去

redis-trib.rb add-node 127.0.0.1:7008 127.0.0.1:7006

查看

添加7008成为7007的从节点

登录7008客户端

执行分配节点

cluster replicate fccadebeb5b769bd084369e5cbe391979fb53b40

fccadebeb5b769bd084369e5cbe391979fb53b40 是 7007 节点 id

查看节点配置

首先要把节点中的哈希槽转移到其他节点中,执行下面的命令

redis-trib.rb reshard 127.0.0.1:7007

提示我们要移动多少哈希槽 ?

输入数字即可

选择接受的槽节点ID?

找一个主节点接受哈希槽即可

选择数据源槽?

输入需要清除的节点ID即可

最后 输入 done

删除分配

查看节点信息

7007已经无哈希槽

最后使用删除节点删除

redis-trib.rb del-node 127.0.0.1:7007 ID ID 是7007的节点ID

查看节点信息

7007已经被成功删除

redis-trib.rb del-node 127.0.0.1:7008 ID ID 是7008的节点ID

查看节点

7008从节点已经没有了


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11258442.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存