zoukankan      html  css  js  c++  java
  • 批量删除Redis数据库中的Key

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

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

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

    redis-cli -p 6380 keys "*" | xargs redis-cli -p 6380 del  
    //端口号换成自己的

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

    redis-cli -a password keys "*" | xargs redis-cli -a password del
    //密码换成自己的

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

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

    上面命令可以一起使用,如

    //删除机器上reids端口6380以"PRO_"开头的所有key,redis密码为password
    redis-cli -p 6380 -a password keys "PRO_*" | xargs redis-cli -p 6380 -a password del 

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

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

    其他

    1.如果key包含空格像:
    a log message       message1
    vip user          peter
    vip user            mark
    vip user          mary
    可以通过加引号来删除
    DEL "a log message"
    DEL " vip user " 
    不过不推荐在key中使用空格,最好使用冒号来分割字段

    例如vip:user:mary
    一些文档使用下划线,按理驼峰应该也可以了

    2.
    另外 redis 的 DEL是可以批量删除的,使用空格隔开
    DEL key1 key2
    会返回成功删除的个数
    (integer) 2
    对于有空格的key需要用引号包含起来
    DEL ”vip user mark" "vip user mary"
    (integer) 2

    本文参考:https://www.cnblogs.com/DreamDrive/p/5772198.html

     
  • 相关阅读:
    还来一篇说下json_value 以及 json_query 的应用 (3)
    继续说一下openjson 以及 json path 的使用 (2)
    浅谈数据库资源使用的按需分配方法
    AlwaysON同步的原理及可用模式
    AlwaysON同步性能监控的三板斧
    为什么完整备份不能截断事务日志
    解读SQL 内存数据库的细节
    收缩SQL Server日志不是那么简单的(翻译)
    没有了SA密码,无法Windows集成身份登录,DBA怎么办?
    数据库错误日志惹的祸
  • 原文地址:https://www.cnblogs.com/YangJavaer/p/8881402.html
Copyright © 2011-2022 走看看