zoukankan      html  css  js  c++  java
  • redis优雅的批量删除key

    redis优雅的批量删除key

      近期在处理redis的故障中,发现需要删除大量的历史数据(也是bigkeys),好在符合正则表达式。要不然就很痛苦,这也体现了在设计key的时候遵循规范带来的维护好处之一。

    简要记录如下(后期再完善):

    redis优雅的批量删除key

    方式一:主从模式

    redis-cli --scan --pattern "ops-coffee-*" | xargs -L 2000 redis-cli del

    方式二:分布式(集群)
    可能不支持keys 或者 scan

    导出数据成rdb格式,找个环境,把rdb载入到这个环境中

    redis-cli --scan --pattern "*" >delele_keys.txt

    cat delele_keys.txt | awk -F"." '{print $2}' | sed 's/^/del /g' > delele_keys.txt.tmp
    mv delele_keys.txt.tmp delele_keys.txt

    如果小的话,可以直接执行:

    cat /data/mysql/backup/01/total/delele_keys.txt | /usr/bin/redis-cli -p 6379 -h x.x.x.x >/dev/null


    # 分割文件
    split -l 500000 -d -a 4 delele_keys.txt

    cat > /data/mysql/backup/01/total/0705_del_keys_00_09.sh<<"EOF"
    #!/bin/bash
    for i in {10..20}
    do
    cat /data/mysql/backup/01/total/x00"${i}" | /usr/bin/redis-cli -p 6379 -h x.x.x.x >/dev/null
    sleep 300
    done
    EOF

    sh /data/mysql/backup/01/total/0705_del_keys_00_09.sh &

  • 相关阅读:
    #define中的特殊符号
    c++ windows下计时
    c++内存池
    u3d 场景资源打包
    Unity3d 动态加载材质方法
    Unity3D Shader基础教程
    Unity3D Shader入门指南(一)
    Unreal发展史
    阴影锥(shadow volume)原理与展望
    软硬RAID 和 不常见的RAID
  • 原文地址:https://www.cnblogs.com/bjx2020/p/11132962.html
Copyright © 2011-2022 走看看