目录
redis集群本质上是不需要mysql的,有时候二者是合作关系,共同解决访问过大的问题
一、redis集群部署
(1)redis软件编译
需要的安装包 :
/home/westos/Desktop/aaaalinux file/docs/redis/redis-6.2.4.tar.gz
server1:
tar zxf redis-6.2.4.tar.gz
cd redis-6.2.4/ ######在该目录下,README.md里包含了make命令的一些参数
redis 编译安装:不用configure,他本来就是程序
make USE_SYSTEMD=yes
make install
cd utils/ 里边有一个启动脚本 install_server.sh
直接执行 ./install_server.sh 会报错,因为脚本中有一部分if语句,可以注销不影响。
重新执行启动脚本 ./install_server.sh
全部回车,这样就建立了接口为6379的redis进程
假如我们需要多个redis进程,继续执行启动脚本./install_server.sh
端口不能写重复,这里写成6380
ps ax 查看所有进程
可以看到两个redis进程
如果想要结束6380进程,
/etc/init.d/redis_6380 stop
(2)redis配置文件修改
配置文件位置 /etc/redis
76 bind 0.0.0.0
这样就可以让所有网段都访问我的redis
/etc/init.d/redis_6379 restart 重启服务
netstat -antlp 查看redis服务,可以被所有网段访问
(3)部署redis集群
scp -r redis-6.2.4 root@server2:~ 直接复制过来,server2就不用make了
server2:make install
server2:
./install_server.sh 启动脚本
vim /etc/redis/6379.conf #### 修改配置文件同上,bind 0。0。0。0
/etc/init.d/redis_6379 restart 重启服务
redis-cli 进入redis界面
info查看redis信息
server2连接server1:
1.server2修改配置文件
vim /etc/redis/6379.conf
replicaof 172.25.73.1 6379
/etc/init.d/redis_6379 restart
此时server2进入redis界面
info查看,可以看到server2已经成为了slave角色
此时server1上也出现了相应的信息
只有server1可以写,server2是只读的
二、redis常用指令
实际上redis指令不止这些,官网有更详细的说明。
config get * ##查看配置select 1 ##选择数据库flushdb ##清空当前数据库flushall ##清空所有数据库move key 1 ##移动keydel key ##删除rename oldkey newkey ##改名expire key 10 ##设置过期时间persist key ##设置持久化keys user* ##查询exists key ##判断是否存在
config get * ##查看配置
select 1 ##选择数据库注:redis数据库一共有编号0-15,一共16个数据库,默认的是在数据库0。
flushdb ##清空当前数据库
flushall ##清空所有数据库
expire name 5 ##设置过期时间,5秒后名字过期