1.下载并编译redis#
去http://download.redis.io/releases/查看自己想要下载的redis,右键复制一下链接
我的原始目录:/root
Copy Highlighter-hljs
| wget http://download.redis.io/releases/redis-7.0.4.tar.gz |
| tar zxvf redis-7.0.4.tar.gz |
| cd redis-7.0.4 |
| sudo apt-get install gcc automake autoconf libtool make |
| make && make PREFIX=/usr/local/redis install |
2.配置redis集群节点#
Copy Highlighter-hljs
| cd /usr/local/redis |
| mkdir cluster && cd cluster |
| mkdir 7000 7001 7002 7003 7004 7005 |
| cp /root/redis-7.0.4/redis.conf /usr/local/redis/cluster/7000 |
| cp /root/redis-7.0.4/redis.conf /usr/local/redis/cluster/7001 |
| cp /root/redis-7.0.4/redis.conf /usr/local/redis/cluster/7002 |
| cp /root/redis-7.0.4/redis.conf /usr/local/redis/cluster/7003 |
| cp /root/redis-7.0.4/redis.conf /usr/local/redis/cluster/7004 |
| cp /root/redis-7.0.4/redis.conf /usr/local/redis/cluster/7005 |
| sudo vim /usr/local/redis/cluster/7000/redis.conf |
下面是redis.conf内容 7001 7002 7003 7004 7005的类似,需要将对应的部分做一下修改
Copy Highlighter-hljs
| |
| port 7000 |
| |
| daemonize yes |
| |
| cluster-enabled yes |
| |
| cluster-config-file nodes-7000.conf |
| |
| cluster-node-timeout 5000 |
| |
| pidfile /var/run/redis-7000.pid |
| |
| appendonly yes |
| |
| appendfilename "appendonly-7000.aof" |
| |
| dbfilename dump-7000.rdb |
3.启动redis#
在/usr/local/redis目录下创建一个start.sh
Copy Highlighter-hljs
| #!/bin/bash |
| bin/redis-server cluster/7000/redis.conf |
| bin/redis-server cluster/7001/redis.conf |
| bin/redis-server cluster/7002/redis.conf |
| bin/redis-server cluster/7003/redis.conf |
| bin/redis-server cluster/7004/redis.conf |
| bin/redis-server cluster/7005/redis.conf |
Copy Highlighter-hljs
| |
| sudo chmod -R 777 start.sh |
| ./start.sh |
| ps -ef | grep redis |
4.开启集群#
Copy Highlighter-hljs
| sudo apt-get install ruby |
| |
| wget https://rubygems.org/rubygems/rubygems-3.3.21.tgz |
| tar -zxvf rubygems-3.3.21.tgz |
| cd rubygems-3.3.21 |
| ruby setup.rb |
| gem install redis |
| |
| cp /root/redis-7.0.4/src/redis-trib.rb /usr/local/redis/bin/redis-trib |
如果没有注意版本,还是进行了复制操作,在执行redis-trib时,将会给出对应的正确操作,例如

Copy Highlighter-hljs
| |
| |
| cd /usr/local/redis |
| bin/redis-cli --cluster create 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 --cluster-replicas 1 |
| 或者 |
| bin/redis-trib create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 |
5.常用命令#
Copy Highlighter-hljs
| cd /usr/local/redis |
| ps -ef | grep redis |
| kill xxxx |
| |
Copy Highlighter-hljs
| bin/redis-cli -c -p 7000 |
| |
| |
| |
| |
| bin/redis-cli -c -p 7008 cluster nodes |grep efc3131fbdc6cf929720e0e0f7136cae85657481 |
Copy Highlighter-hljs
bin/redis-server cluster/7000/redis.conf
Copy Highlighter-hljs
| bin/redis-cli --cluster del-node 127.0.0.1:7000 <node-id> |
| 或 |
| bin/redis-trib del-node 127.0.0.1:7000 <node-id> |
| |
| |
| |
Copy Highlighter-hljs
| |
| |
| bin/redis-cli --cluster add-node 127.0.0.1:7006 127.0.0.1:7000 |
| 或 |
| bin/redis-trib add-node 127.0.0.1:7006 127.0.0.1:7000 |
| |
| |
| |
| |
| bin/redis-cli --cluster add-node --slave --master-id efc3131fbdc6cf929720e0e0f7136cae85657481 127.0.0.1:7008 127.0.0.1:7000 |
| 或 |
| bin/redis-trib add-node --slave --master-id efc3131fbdc6cf929720e0e0f7136cae85657481 127.0.0.1:7006 127.0.0.1:7000(未测试) |
Copy Highlighter-hljs
| bin/redis-cli --cluster reshard 127.0.0.1:7000 |
| 或 |
| /bin/redis-trib reshard 127.0.0.1:7000 |
| |
| |
| |
| |
| |
| Type 'all' to use all the nodes as source nodes for the hash slots. |
| Type 'done' once you entered all the source nodes IDs. |
| Source node |
| |
| M: d2358a82392c2c4d7a6e4d6f37da924e340c154d 127.0.0.1:7006 |
| slots:[0-1364],[5461-6826],[10923-12287] (4096 slots) master |


Copy Highlighter-hljs
bin/redis-cli --cluster check 127.0.0.1:7000

Copy Highlighter-hljs
| bin/redis-benchmark --help # 查看输出中是否有--cluster选项,如果有,那么说明当前版本支持集群基准测试 |
| bin/redis-benchmark --cluster -q -n 100000 -p 7000 # 集群基准测试,如果不加--cluster,则只对于7000以及下属的slave节点进行基准测试 |
| |
| # 流水线测试 |
| bin/redis-benchmark --cluster -n 1000000 -t set,get -P 16 -q -p 7000 # 流水线测试,如果不加--cluster,则只对于7000以及下属的slave节点进行基准测试 |
参考文章#
https://zhuanlan.zhihu.com/p/391762630
https://xie.infoq.cn/article/176a69d28ad007e338a07ae15
https://cloud.tencent.com/developer/article/1752546
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
2020-09-01 centos 8及以上安装mysql 8.0