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

    批量删除Key

    Redis 中有删除单个 Key 的指令 DEL,但好像没有批量删除 Key 的指令,不过我们可以借助 Linux 的 xargs 指令来完成这个动作

    1
    2
    3
    redis-cli keys "test*" | xargs redis-cli del
    //如果redis-cli没有设置成系统变量,需要指定redis-cli的完整路径
    //如:/opt/redis/redis-cli keys "*" | xargs /opt/redis/redis-cli del

    如果要指定 Redis 数据库访问密码,使用下面的命令

    1
    redis-cli -a password keys "*" | xargs redis-cli -a password del

    如果要访问 Redis 中特定的数据库,使用下面的命令

    1
    2
    //下面的命令指定数据序号为0,即默认数据库
    redis-cli -n 0 keys "*" | xargs redis-cli -n 0 del

    删除所有Key

    删除所有Key,可以使用Redis的flushdb和flushall命令

    1
    2
    3
    4
    //删除当前数据库中的所有Key
    flushdb
    //删除所有数据库中的key
    flushall

    注:keys 指令可以进行模糊匹配,但如果 Key 含空格,就匹配不到了,暂时还没发现好的解决办法。

    在数据量大的时候,可以先导出再删除

    redis-cli -p 6380 -a redis-pwd keys "preffix-1*" > /home/keys_redis/preffix-1

    然后通过这些数据删掉生产环境上的key。

    1
    cat /home/keys_redis/preffix-1 | xargs redis-cli -a redis-pwd -n 0 del

    删除的速度非常快

    the_day_before_yesterday=`date -d "2 days ago" '+%Y%m%d'`
    var_keys="RealTimelog*"${the_day_before_yesterday}"*"
    echo $var_keys
    redis-cli -a 1234 keys $var_keys | xargs redis-cli -a 1234 del 
  • 相关阅读:
    快速搭建http server
    cwmp part2 测试基础RPC
    Leetcode-5223 Queens That Can Attack the King(可以攻击国王的皇后)
    Leetcode-5222 Split a String in Balanced Strings(分割平衡字符串)
    Leetcode-5224 Dice Roll Simulation(掷骰子模拟)
    P2604-[ZJOI2010]网络扩容
    P2053-[SCOI2007]修车
    P2153-[SDOI2009]晨跑
    P2774 方格取数问题
    P2763-试题库问题
  • 原文地址:https://www.cnblogs.com/linn/p/4626467.html
Copyright © 2011-2022 走看看