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 &

  • 相关阅读:
    input清楚阴影 number属性
    转 溢出隐藏
    多行,溢出隐藏 css
    JS判断移动端还是PC端(改造自腾讯网) 仅用于宣传动画,下载页等
    项目开发(Require + E.js)
    showPrompt弹框提示
    图形验证码
    CSS常用技术总结!~~
    移动开发常用技术总结!~~
    JavaScript常用技术总结!~~
  • 原文地址:https://www.cnblogs.com/bjx2020/p/11132962.html
Copyright © 2011-2022 走看看