- 安装
安装方法: https://blog.csdn.net/bigtree_3721/article/details/80886977
yum -y install redis
yum install ruby rubygems ruby-devel
gem install redis-dump -V
vim /etc/redis.conf
修改2个配置参数:
requirepass Passwd
bind 0.0.0.0 - 常用命令
远程登录redis
redis-cli -h host -p port -a "password"
已使用库信息:redis-cli -a "password" INFO keyspace
KEYS * 匹配数据库中所有 key (可使用正则匹配)
redis-cli --bigkeys 查看key大小
Client List 命令用于返回所有连接到服务器的客户端信息和统计数据
SELECT <dbid> 命令在连接上指定数据库 id
DBSIZE 命令获取key数量
Flushall 命令用于清空整个 Redis 服务器的数据 (删除所有数据库的所有 key)
Flushdb 命令用于清空当前数据库中的所有 key
CONFIG GET * 获取所有配置项
CONFIG GET databases 获取数据库的数量,总共16个库,默认数据库为 0
CONFIG GET dir 指定本地数据库存放目录
info 命令获取 redis 服务器的统计信息
SAVE 命令用于创建当前数据库的备份
Monitor 命令用于实时打印出 Redis 服务器接收到的命令,调试用
恢复数据:将备份文件 (dump.rdb) 移动到 redis 安装目录并启动服务即可
Shutdown 命令停止redis - 导入导出
#导出,密码前面要加一个冒号
redis-dump -u :password@127.0.0.1:6379 > redis.json
#导入
cat redis.json redis-load -u :password@localhost - 备份恢复制定数据库
备份所有库
redis-dump -D -u :password@127.0.0.1:6379 > 6379.json
备份指定数据库
redis-dump -d 0 -D -u :password@127.0.0.1:6379 >6379.json
恢复所有库(先清空flushall)
redis-load -D -u :password@127.0.0.1:6379 < 6379.json
恢复到指定数据库
sed -i 's/{"db":0/{"db":10/' 6379.json
redis-load -d 10 -D -u :password@127.0.0.1:6379 <6379.json - redis定时备份、自动删除脚本
#!/bin/bash #Author: Jerry.huang #This is auto dumping redis all databases! #+++++++++++++++++++++++++++++++++++++++++ ### variables REDIS_BAKDIR=/data/redis/redisbak REDIS_BAKLOG=/data/redis/redisbak/bakrdb.log REDIS_DATADIR=/data/redis/redisdata REDIS_BAKNAME="redis.rdb" DATE_TIME=`date +%Y%m%d-%H%M%S` if [ ! -d ${REDIS_BAKDIR} ];then mkdir -p ${REDIS_BAKDIR} fi if [ ! -f ${REDIS_DATADIR}/${REDIS_BAKNAME} ];then echo "The '${REDIS_DATADIR}/${REDIS_BAKNAME}' database is not exists!" exit 1 fi dumpall(){ redis-dump -u :Passwd@127.0.0.1:6379 >${REDIS_BAKDIR}/${DATE_TIME}_${REDIS_BAKNAME} if [ $? -eq 0 ];then echo "$DATE_TIME _________________________________" >> $REDIS_BAKLOG echo "'$REDIS_HOST' redis all databases backup success" >> $REDIS_BAKLOG echo "=================================================" >> $REDIS_BAKLOG else echo "$DATE_TIME _________________________________" >> $REDIS_BAKLOG echo "'$REDIS_HOST' redis all databases backup fail" >> $REDIS_BAKLOG echo "=================================================" >> $REDIS_BAKLOG fi echo "" >> $REDIS_BAKLOG echo "" >> $REDIS_BAKLOG } deletebak(){ find ${REDIS_BAKDIR} -name "*_${REDIS_BAKNAME}" -mtime +30 | xargs rm -rf } dumpall
- 官网及命令详解:
http://www.redis.net.cn/order/
https://cloud.tencent.com/document/product/239/19047 -
腾讯云禁用了flushall和flushdb
redis-cli -h 127.0.0.7 -n 8 -a crs-123456:redis@2017 keys "*" | xargs redis-cli -h 10.30.3.8 -n 8 -a crs-123456:redis@2017 del