当前位置:网站首页>Redis集群
Redis集群
2022-07-07 23:21:00 【beginnerDZ】
Redis集群
概念
容量不够,redis如何进行扩容?
1.一台变多台可以解决 集群
并发写操作, redis如何分摊?
1.集群
另外,主从模式,薪火相传模式,主机宕机,导致ip地址发生变化,应用程序中配置需要修改对应的主机地址、端口等信息。
之前通过代理主机来解决,但是redis3.0中提供了解决方案。就是无中心化集群配置。
代理主机:客户机和服务器之间通过一个代理机 由代理机先不同的Redis服务器发送请求 接收数据
缺点: 服务器数量多 维护不方便
无中心化:
请求打到集群中,自动转移到目标服务器
3主3从
Redis 集群实现了对Redis的水平扩容,即启动N个redis节点,将整个数据库分布存储在这N个节点中,每个节点存储总数据的1/N。
Redis 集群通过分区(partition)来提供一定程度的可用性(availability): 即使集群中有一部分节点失效或者无法进行通讯, 集群也可以继续处理命令请求。
配置
开启daemonize yes
Pid文件名字
指定端口
Log文件名字
Dump.rdb名字
Appendonly 关掉或者换名字
配置文件中:
cluster-enabled yes 打开集群模式
cluster-config-file nodes-6379.conf 设定节点配置文件名
cluster-node-timeout 15000 设定节点失联时间,超过该时间(毫秒),集群自动进行主从切换。
以 6 个为例 6个端口 模拟6个服务器
3678端口的,其他端口和下面一样只要改一下数字
启动6个redis服务组合之前,请确保所有redis实例启动后,nodes-xxxx.conf文件都生成正常
新版本(6.2)中不需要装ruby环境
进入到开始安装redis的src下
在该路径下执行
redis-cli --cluster create --cluster-replicas 1 192.168.200.130:6379 192.168.200.130:6380 192.168.200.130:6381 192.168.200.130:6389 192.168.200.130:6390 192.168.200.130:6391
6个节点合成一个集群
- –cluste 表示集群操作
- –cluster-replicas 集群的方式 1 就表示最简单的方式配置集群,一台主机,一台从机,目前正好三组。2 就是 一台主机,两个从机
此处不要用127.0.0.1, 请用真实IP地址
主从已经分配好了。是否接受
[OK] All 16384 slots covered.
redis-cli -c -p 6379
-c 采用集群策略连接,设置数据会自动切换到相应的写主机
cluster nodes
查看集群信息
什么是slots
集群搭建完成 有这个提示
一个 Redis 集群包含 16384 个插槽(hash slot), 数据库中的每个键都属于这 16384 个插槽的其中一个,
集群使用公式 CRC16(key) % 16384 来计算键 key 属于哪个槽, 其中 CRC16(key) 语句用于计算键 key 的 CRC16 校验和 。
集群中的每个节点负责处理一部分插槽。 举个例子, 如果一个集群可以有主节点, 其中:
节点 A 负责处理 0 号至 5460 号插槽。
节点 B 负责处理 5461 号至 10922 号插槽。set
节点 C 负责处理 10923 号至 16383 号插槽。
不在一个slot下的键值,是不能使用mget,mset等多键操作。
多个值添加 需要用大括号。可以通过{}来定义组的概念,从而使key中{}内相同内容的键值对放到一个slot中去。
mset <key1><value1><key2><value2>
mset name{user} aa age{user} 20
CLUSTER keyslot X
计算x的插槽值
CLUSTER countkeysinslot <slot>
计算这个卡槽中的键的数量(只能当前库对应范围内的,如果是其他库,会返回0)
CLUSTER GETKEYSINSLOT <slot><count>
返回 count 个 slot 槽中的键。
故障恢复
如果主节点下线G了 从节点自动升为主节点 注意:15秒超时
主节点回来后会变成从机。
如果某一段插槽的主从(6个挂了2个)都挂掉,而cluster-require-full-coverage 为yes ,那么 ,整个集群都挂掉
如果某一段插槽的主从都挂掉,而cluster-require-full-coverage 为no ,那么,该插槽数据全都不能使用,也无法存储。
Jedis的相关操作
即使连接的不是主机,集群会自动切换主机存储。主机写,从机读。
无中心化主从集群。无论从哪台主机写的数据,其他主机上都能读到数据。
public class JedisClusterTest {
public static void main(String[] args) {
// Set<HostAndPort> set =new HashSet<HostAndPort>();
// //HostAndPort 随便一个都行 每一个都能作为集群的入口
// set.add();
JedisCluster jedisCluster=new JedisCluster(new HostAndPort("192.168.200.130",6379)); //传入set或一个HostAndPort 都可以
jedisCluster.set("bbb1", "v111");
System.out.println(jedisCluster.get("bbb1"));
}
}
优缺点
Redis集群提供了以下好处
实现扩容
分摊压力
无中心配置相对简单
Redis集群的不足
多键操作是不被支持的
多键的Redis事务是不被支持的。lua脚本不被支持
由于集群方案出现较晚,很多公司已经采用了其他的集群方案,而代理或者客户端分片的方案想要迁移至redis cluster,需要整体迁移而不是逐步过渡,复杂度较大。
边栏推荐
- Su embedded training - Day7
- 2.非线性回归
- Solve the error: NPM warn config global ` --global`, `--local` are deprecated Use `--location=global` instead.
- [deep learning] AI one click to change the sky
- Design method and application of ag9311maq and ag9311mcq in USB type-C docking station or converter
- Recommend a document management tool mendely Reference Manager
- Kuntai ch7511b scheme design | ch7511b design EDP to LVDS data | pin to pin replaces ch7511b circuit design
- 2022 low voltage electrician examination content and low voltage electrician simulation examination question bank
- On the concept and application of filtering in radar signal processing
- 2022 safety officer-c certificate examination paper and safety officer-c certificate simulated examination question bank
猜你喜欢
Chapter XI feature selection
Ag9310 for type-C docking station scheme circuit design method | ag9310 for type-C audio and video converter scheme circuit design reference
Content of one frame
Cross modal semantic association alignment retrieval - image text matching
EDP to LVDS conversion design circuit | EDP to LVDS adapter board circuit | capstone/cs5211 chip circuit schematic reference
2022 R1 fast opening pressure vessel operation test question bank and R1 fast opening pressure vessel operation free test questions
2、TD+Learning
【深度学习】AI一键换天
14. Draw network model structure
Several frequently used OCR document scanning tools | no watermark | avoid IQ tax
随机推荐
Two methods for full screen adaptation of background pictures, background size: cover; Or (background size: 100% 100%;)
Cs5212an design display to VGA HD adapter products | display to VGA Hd 1080p adapter products
2.非线性回归
On the concept and application of filtering in radar signal processing
Led serial communication
Generic configuration legend
Frequency probability and Bayesian probability
130. 被围绕的区域
How to write mark down on vscode
Serial port receives a packet of data
2022 refrigeration and air conditioning equipment operation examination questions and refrigeration and air conditioning equipment operation examination skills
Definition and classification of energy
Ag9310 same function alternative | cs5261 replaces ag9310type-c to HDMI single switch screen alternative | low BOM replaces ag9310 design
2、TD+Learning
Get started quickly using the local testing tool postman
利用GPU训练网络模型
Taiwan Xinchuang sss1700 latest Chinese specification | sss1700 latest Chinese specification | sss1700datasheet Chinese explanation
4. Strategic Learning
Su embedded training - C language programming practice (implementation of address book)
C#中string用法