redis - 如何删除 Redis 密钥?
问题描述
我的 Redis 密钥有特殊字符。我尝试了以下命令但没有用。
redis-cli keys *ueryLikesApp*
1) "\xac\xed\x00\x05t\x00\x1dqueryLikesApps04ea56ff2567012"
redis-cli --scan --pattern "*Likes*"
没有找到数据
redis-cli keys "*Likes*"|xargs redis-cli del
没有找到数据
如何删除这些redis键?
解决方案
与如何使用 Redis 以原子方式删除与模式匹配的键一样,这将使用 Lua 脚本:
redis-cli EVAL "return redis.call('del', unpack(redis.call('keys', ARGV[1])))" 0 "*Likes*"
如果你有成千上万的钥匙
EVAL "local keys = redis.call('keys', ARGV[1]) \n for i=1,#keys,5000 do \n redis.call('del', unpack(keys, i, math.min(i+4999, #keys))) \n end \n return keys" 0 "*Likes*"
推荐阅读
- python - GitPython - git add - 错误 - 文件无法识别
- tensorflow - 仅优化使用 TensorFlow Estimator API 的模型的某些变量
- javascript - 如何删除和显示选择选项子类别
- postgresql - 来自本地 PostgreSQL 的 Azure 数据工厂
- excel - 使用 VBA 在 Outlook 中设置约会
- angular - 在剑道网格 ui 中获取过滤器值
- java - 如何从外部文件夹或外部 jar 加载 Evolutions 脚本(数据库迁移脚本)?
- java - 检查内存中的字符串或 JSON 大小
- python-3.x - 无法从另一个数据框中覆盖数据框列
- r - R的并行化低于下限