当前位置: 首页 > 知识库问答 >
问题:

Redis Shell脚本十六进制键

充子航
2023-03-14

创建了一个删除Redis中特定键的cron作业。

示例键:“\xac\xed\x00\x05t\x00\x15test”

Code below:


 host=${1:-}
port=${2:-6379}
database=${3:-0}
pattern=${4:-"Test"}

cursor=-1
keys=""

echo "Starting to delete"
while [ $cursor -ne 0 ]; do
  if [ $cursor -eq -1 ]
  then
    cursor=0
  fi

  reply=`redis-cli -h $host -p $port SCAN $cursor MATCH $pattern`
  cursor=`expr "$reply" : '\([0-9]*[0-9 ]\)'`
  keys=${reply##[0-9]*[0-9 ]}
  echo "$keys"
  redis-cli -h $host -p $port DEL $keys
done

共有1个答案

漆雕兴平
2023-03-14

切换客户端删除密钥。编写了一个小python脚本

#!/usr/bin/env python3

import redis

redis_host = "localhost"
redis_port = 6379
redis_password = ""


def hello_redis():
    """Example Hello Redis Program"""
    print("Start of script")
    # step 3: create the Redis Connection object
    try:
        r = redis.StrictRedis(host=redis_host, port=redis_port, password=redis_password)
 
        for key in r.scan_iter("*key*"):
            print(key)
            r.delete(key)    
   
    except Exception as e:
        print(e)

    print("Terminating script")
if __name__ == '__main__':
    hello_redis()
 类似资料:
  • 问题内容: 如何将十进制转换为以下格式的十六进制(至少两位,零填充,没有0x前缀)? 输入: 输出: 输入: 输出: 我尝试过,但似乎它显示了第一个示例,但没有显示第二个示例。 问题答案: 将该功能与格式一起使用。 该部分要求使用至少2位数字,并使用零将其填充到长度,表示小写的十六进制。 的 格式规范的迷你语言 也给你大写十六进制输出,并且可以前缀字段宽度与以包括或前缀(取决于你阉羊使用或作为格式

  • 问题内容: 如何将RGB格式的颜色转换为十六进制格式,反之亦然? 例如,转换为。 问题答案: 注 :这两个版本的期待整数值,并且,所以你需要,如果你有非整数值做自己的舍入。 以下将执行RGB到十六进制的转换,并添加任何所需的零填充: 转换另一种方式: 最后,在答案中讨论并在@cwolves的评论中建议使用的替代版本: 更新 这是它的一个版本,还解析了一个速记的三元组,例如“#03F”:

  • Python3 实例 以下代码用于实现十进制转二进制、八进制、十六进制: # -*- coding: UTF-8 -*- # Filename : test.py # author by : www.runoob.com # 获取用户输入十进制数 dec = int(input("输入数字:")) print("十进制数为:", dec) print("转换为二进制为:", bin(dec

  • 问题内容: 我想将二进制数据转换为十六进制,就是这样,没有花哨的格式等等。似乎太聪明了,它对我来说“过度格式化”。我想从/ dev / random中获取x个字节,并将其作为十六进制传递。 最好是我只想使用标准的Linux工具,这样就不需要在每台机器上安装它了(有很多)。 问题答案: 也许使用:

  • 我需要转换十六进制- 当我运行这个错误实际上是显示我需要的值但我不能得到它 groovy.lang.的方法:静态java.lang.我nteger.parseInt()适用于参数类型:(java.math.大整数,java.lang.整数)值:[28855032353026779507009821653742961358,...]可能的解决方案:parseInt(java.lang.String,

  • 问题内容: 我这里有一个将十进制转换为十六进制的函数,但它以相反的顺序打印。我该如何解决? 问题答案: 如果要自己编写此代码而不是使用内置函数,则可以在打印当前数字之前简单地进行递归调用: