Redis
安装
Docker安装
参考文档: https://hub.docker.com/_/redis/?tab=description&page=1&ordering=last_updated
# 1. 创建挂载目录
cd data
mkdir redis
# 2. 拉取镜像并运行
docker run --name redis-5.0.12 --restart=always -p 6379:6379 -v /data/redis:/data -d redis:5.0.12 redis-server --appendonly yes --requirepass 123456
CentOS7安装
参考文档:https://www.cnblogs.com/heqiuyong/p/10463334.html
- 安装路径:
/usr/local/redis
- 配置|命令路径:
/usr/local/redis/bin
- 数据|日志路径:
/data/redis
- redis.conf 修改内容
每日备份
参考文档:https://blog.csdn.net/Junetest/article/details/104796142/
- 脚本地址:
/data/redis/backup.sh
- 日志路径:
/var/spool/mail/root
# 1.编辑脚本
cd /data/redis
vim backup.sh
#! /bin/bash
PATH=/usr/local/redis/bin:$PATH
redis-cli -p 6379 bgsave
date=$(date +"%Y%m%d")
cp /data/redis/dump.rdb /data/redis/backup/dump$date.rdb
echo " 备份完成!"
DAYS=7
find /data/redis/backup/ -mtime +$DAYS -delete #删除7天前的备份文件
echo "删除7天前数据备份完成!"
chmod +x backup.sh
# 2.添加定时任务,每天凌晨两点半备份
crontab -e
30 2 * * * sh /data/redis/backup.sh
crontab -l
将备份数据赋值到另外一台主机
详细操作参考: mongodb备份/将备份数据赋值到另外一台主机
备份端配置
# 1.编辑服务器配置,末尾添加
vim /etc/rsyncd.conf
#以下是全局配置
[redisbackup]
comment = sync rsync/data/redis/backup
path = /data/redis/backup
gid = root
max connections = 10
auth users = root
secrets file = /etc/rsyncd.pass
hosts allow = 172.31.49.33,127.0.0.1
timeout = 600
# 2.创建备份目录
mkdir /data/redis/backup
chown -R nobody:nobody /data/redis/backup
# 3.启动服务器 重启时记得删除rsyncd.pid:‘rm -rf /var/run/rsyncd.pid’
rsync --daemon --config=/etc/rsyncd.conf
redis安装端
# 1.同步目录测试
rsync -auvrtzopgP --progress --password-file=/etc/rsync_client.pwd /data/redis/backup root@172.31.55.20::redisbackup
# 2.回到 每日备份 在backeup.sh中添加如下代码
rsync -auvrtzopgP --progress --password-file=/etc/rsync_client.pwd /data/redis/backup/dump$date.rdb root@172.31.55.20::redisbackup
操作
常用系统命令
cd /usr/local/redis/bin/
# 1.查看redis状态
./redis-cli -p 6379 --stat
# 2.查看统计最大键
./redis-cli --bigkeys -p 6379
# 3.监控redis操作
./redis-cli -p 6379 monitor
# 4.延迟测试
./redis-cli -p 6379 --latency
# 5.历史延迟
./redis-cli -p 6379 --latency-history
# 6.数据备份 https://blog.csdn.net/rentian1/article/details/93845092
./redis-cli -p 6379 --rdb /data/redis/backup/dump20201104.rdb
性能测试
参考文档:https://redis.io/topics/benchmarks
# 1.测试
./redis-benchmark -p 6379 -q -n 100000
PING_INLINE: 82918.74 requests per second
PING_BULK: 81900.09 requests per second
SET: 80128.20 requests per second
GET: 82304.52 requests per second
INCR: 84317.03 requests per second
LPUSH: 78678.20 requests per second
RPUSH: 84961.77 requests per second
LPOP: 84388.19 requests per second
RPOP: 83194.67 requests per second
SADD: 85543.20 requests per second
HSET: 84674.01 requests per second
SPOP: 83682.01 requests per second
LPUSH (needed to benchmark LRANGE): 82576.38 requests per second
LRANGE_100 (first 100 elements): 48828.12 requests per second
LRANGE_300 (first 300 elements): 24576.06 requests per second
LRANGE_500 (first 450 elements): 18484.29 requests per second
LRANGE_600 (first 600 elements): 15130.88 requests per second
MSET (10 keys): 69156.30 requests per second
# 2.测试
./redis-benchmark -p 6379 -r 1000000 -n 2000000 -t get,set,lpush,lpop -P 16 -q
SET: 547195.62 requests per second
GET: 893655.06 requests per second
LPUSH: 672721.12 requests per second
LPOP: 736106.00 requests per second
# 3.测试
./redis-benchmark -p 6379 -r 1000000 -n 2000000 -t get,set,lpush,lpop -q
SET: 83329.86 requests per second
GET: 82736.94 requests per second
LPUSH: 84409.55 requests per second
LPOP: 83710.03 requests per second