redis软件下载地址:Redis
redis安装:
yum install gcc -y
tar zxf redis-5.0.8.tar.gz
make && make install
utils/install_server.sh
redis支持的数据类型:
• 字符串(strings)
• 散列(hashes)
• 列表(lists)
• 集合(sets)
• 有序集合(sorted sets)
redis常用命令:
config get * | 查看配置 |
select 1 | 选择数据库 |
flushdb | 清空当前数据库 |
flushall | 清空所有数据库 |
move key 1 | 移动key |
del key | 删除 |
rename oldkey newkey | 改名 |
expire key 10 | 设置过期时间 |
persist key | 设置持久化 |
keys user* | 查询 |
exists key | 判断是否存在 |
主从复制
server1中
[root@server2 redis]# vim 6379.conf
bind 0.0.0.0
server2中
[root@server2 utils]# vim install_server.sh ##注释掉
#if [ "${_pid_1_exe##*/}" = systemd ]
#then
# echo "This systems seems to use systemd."
# echo "Please take a look at the provided example service unit files in this directory, and adapt and install them. Sorry!"
# exit 1
#fi
[root@server2 utils]# ./install_server.sh
[root@server2 utils]# cd /etc/redis/
[root@server2 redis]# vim 6379.conf
bind 0.0.0.0
replicaof 172.25.6.1 6379
[root@server2 redis]# /etc/init.d/redis_6379 restart
[root@server2 redis]# redis-cli
测试:
server1中:
server2中:
主从切换
将server3也添加slave
在server1中:
[root@server1 utils]# cd
[root@server1 ~]# cd redis-6.2.4/
[root@server1 redis-6.2.4]# cp sentinel.conf /etc/redis/
[root@server1 redis-6.2.4]# cd /etc/redis
[root@server1 redis]# ls
6379.conf sentinel.conf
[root@server1 redis]# vim sentinel.conf
sentinel monitor mymaster 172.25.6.1 6379 2
sentinel down-after-milliseconds mymaster 10000
[root@server1 redis]# scp sentinel.conf server2:/etc/redis/
[root@server1 redis]# scp sentinel.conf server3:/etc/redis/
[root@server1 redis]# redis-sentinel /etc/redis/sentinel.conf
[root@server2 redis]# redis-sentinel /etc/redis/sentinel.conf
[root@server3 redis]# redis-sentinel /etc/redis/sentinel.conf
测试:
关闭 server1
[root@serve