redis 常用命令

  1. 安装
    安装方法: 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
  2. 常用命令
    远程登录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
  3. 导入导出
    #导出,密码前面要加一个冒号
    redis-dump -u :password@127.0.0.1:6379 > redis.json
    #导入
    cat redis.json redis-load -u :password@localhost
  4. 备份恢复制定数据库
    备份所有库
    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
  5. 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
    redis_dump_alldb.sh
  6. 官网及命令详解:
    http://www.redis.net.cn/order/
    https://cloud.tencent.com/document/product/239/19047
  7. 腾讯云禁用了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

posted @ 2017-06-16 14:29  Mr黄瑞  阅读(539)  评论(0编辑  收藏  举报