目录
- 需求
- 实现
- redis的分布式锁
需求
我们使用6个服务器搭建一个集群,我们使用不同的端口号进行代替
实现
将6379配置文件里面的集群关联的配置文件打开
以上只是改了一个的,我们还有其他的
其他的都是根据6379这个配置文件复制过来的,里面的东西都一样,所以我们需要将其他的配置文件里面的6379改为对应的,可以全局替换
打开配置文件,输入这个,就可以全局替换
代码语言:javascript复制:%s/6379/6380
都改了之后,启动这6个配置文件
启动之后看bin目录里面
只要节点的conf文件生成就可以了,之后还是其他配置,让6个redis为一个集群
执行下面这个,就可以将这些启动的文件变为集群
代码语言:javascript复制./redis-cli --cluster create 192.168.40.128:6379 192.168.40.128:6380 192.168.40.128:6381 192.168.40.128:6389 192.168.40.128:6390 192.168.40.128:6391 --cluster-replicas 1
我们嫌弃一个一个启动比较麻烦,一个一个关闭比较麻烦 所以写一个脚本,只要执行这些脚本就可以一键启动,一键关闭
代码语言:javascript复制./redis-server ../cluster/redis6379.conf
./redis-server ../cluster/redis6380.conf
./redis-server ../cluster/redis6381.conf
./redis-server ../cluster/redis6389.conf
./redis-server ../cluster/redis6390.conf
./redis-server ../cluster/redis6391.conf
./redis-cli -p 6379 shutdown
./redis-cli -p 6380 shutdown
./redis-cli -p 6381 shutdown
./redis-cli -p 6389 shutdown
./redis-cli -p 6390 shutdown
./redis-cli -p 6391 shutdown
chmod a x stop.sh 写完脚本,执行这个,就可以有权限执行这个脚本了
redis的分布式锁
我们有一个集群,往里面添加数据的时候,其他人也往同一个key里面添加数据,那么普通set是可以的
我们现在就需要,对同一个key设置之后,之后不能重新赋值,对这个key加锁,只有释放之后才可以
代码语言:javascript复制setnx 进行加锁
del 释放锁