1.基础安装与启动
mkdir /usr/local/redis
cd /usr/local/src
wget http://download.redis.io/releases/redis
tar -xzvf redis-6.2.6.tar.gz # 具体看下载的版本包名称
cd redis-6.2.6
make PREFIX=/usr/local/redis install
报错zmalloc.h:50:31: fatal error: jemalloc/jemalloc.h: No such file or directory #include 执行下面命令
make PREFIX=/usr/local/redis MALLOC=libc install
报错缺少包
yum install -y gcc
yum install -y tcl
cp redis.conf /usr/local/redis/bin/
cd /usr/local/redis/bin
./redis-server /usr/local/redis/bin/redis.conf
./redis-cli
cp redis.conf redis.conf.back
daemonize yes 从no修改为yes
requirepass 123456789
# bind 127.0.0.1 注释掉 默认注释就不需要操作
systemctl stop firewalld
# 进入安装目录
cd /usr/local/redis/bin
# 编辑安装目录下bash_profile文件 tab键会给提示 该文件为隐藏文件
vi ~/.bash_profile
修改文件内容 # 替换的路径为redis安装包下的src目录
PATH=$PATH:$HOME/bin 为
PATH=$PATH:$HOME/bin:/usr/local/src/redis-6.2.6/src
退出
:wq
重新加载该文件
source ~/.bash_profile
启动redis服务端
1. redis-server redis.conf 启动服务
2. redis-sentinel redis-sentinel.conf 启动哨兵模式,哨兵模式部署使用
启动redis客户端
1. redis-cli -a [密码] 按照上述操作写入密码, 使用此命令
2. redis-cli -h [IP] -p [端口] -a[密码]
3. redis-cli
15 关闭服务
进入客户端 shutdown
或者redis-cli shutdown
检查是否杀死服务
ps -ef|grep redis
1. 查看键
1. keys *
2. keys [键] 不区分类型
2. 查看值
1. get [键] 不区分类型
3. 查看键的过期时间
1. ttl [键] 返回-1表示一直存在, -2表示过期
4. 查看键是否存在
1. exist [键] 存在返回1 不存在返回0
5. 查看键对应值的类型
1. type [键]
10. 查看当前数据库的 key 的数量
1. dbsize
12. 选择不同数据库 默认有16个数据库 编号0-15
select 1
6. 删除键值
1. del [键]
2. unlink [key] 非阻塞删除4.0版本以上
7. 设置过期时间
1. expire [键] [时间] 单位s
8. 插入键值对, 修改键对应的值
1. set [key] [value]
9. 重命名键
1. rename [oldkey] [newkey]
11. 清空当前库
1.flushdb
2. flushdb async 非阻塞删除4.0版本以上
12. 清空所有库 默认一共16个
1. flushall
2. flushall async 非阻塞删除4.0版本以上
两台虚拟机
mkdir /data
mkdir /data/redis
mkdir /data/redis/redis-log
mkdir /data/redis/data
mkdir /etc/master
cp /usr/local/src/redis-6.2.6/redis.conf /etc/master/
vi /etc/slave/redis.conf 修改内容如下全部替换即可
# 使得Redis服务器可以跨网络访问
bind 0.0.0.0
dir "/data/redis/data"
daemonize yes
logfile "/data/redis/redis-log/redis.log"
# 设置密码
requirepass "123456"
# 主服务器密码,注意:有关slaveof的配置只是配置从服务器,主服务器不需要配置
masterauth 123456
mkdir /etc/slave
cp /usr/local/src/redis-6.2.6/redis.conf /etc/slave/
vi /etc/slave/redis.conf 修改内容如下全部替换即可
# 使得Redis服务器可以跨网络访问
bind 0.0.0.0
dir "/data/redis/data"
daemonize yes
logfile "/data/redis/redis-log/redis.log"
# 设置密码
requirepass "123456"
# 主服务器密码,,这个都要配置,不然主从无法用
masterauth 123456
# 注意:有关slaveof的配置只是配置从服务器,主服务器不需要配置
slaveof 192.168.95.101 6379 # IP根据自己环境修改
redis-server /etc/master/redis.conf
redis-server /etc/slave/redis.conf
redis-cli -a 123456
set 1 2
查看双机是否都有数据
cd /usr/local/src/redis-6.2.6
cp sentinel.conf /root/
vi sentinel.conf
修改
daemonize yes
# 添加如下内容IP地址根据自己修改
sentinel monitor mymaster 192.168.10.195 6379 2
sentinel down-after-milliseconds mymaster 30000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 180000
sentinel deny-scripts-reconfig yes
sentinel auth-pass mymaster 123456
主机在客户端下输入 shutdown等待 30S查看备机状态
查看命令info Replication
显示role:master 成功
重启备机 发现正常同步 成功