【问题标题】:How to delete Redis keys with special characters?如何删除带有特殊字符的 Redis 键?
【发布时间】:2017-10-21 04:00:03
【问题描述】:

我无法从我们的 Redis 实例中删除格式为 ENV:NAMESPACE:?''?""-last 的键。它似乎是恶意添加的。

尽管它是由redis-cli --scan 返回的,但我找不到使用redis-cli 删除它的任何方法。在 shell 中转义或使用交互模式的每一个组合都无法找到密钥。

只是一些尝试包括:

$ redis-cli --scan --pattern 'ENV:NAMESPACE:*-last' | xargs redis-cli del
xargs: unterminated quote
$ redis-cli del ENV:NAMESPACE:?''?""-last
(integer) 0
$ redis-cli del "ENV:NAMESPACE:?''?\"\"-last"
(integer) 0
$ redis-cli del 'ENV:NAMESPACE:?'"'"''"'"'?""-last'
$redis-cli
> del ENV:NAMESPACE:?''?""-last
Invalid argument(s)
> del "ENV:NAMESPACE:?''?\"\"-last"
(integer) 0
> del 'ENV:NAMESPACE:?\'\'?""-last'
(integer) 0

任何人都知道使这项工作的方法或删除密钥的合理替代方法吗?

【问题讨论】:

  • 可能值得尝试使用不同的客户端。 del ENV:NAMESPACE:?'\'?\"\"-last 呢?

标签: redis redis-cli


【解决方案1】:

我最终按照 ceejayoz 的建议尝试了 python 客户端。

原来实际的密钥是b'ENV:NAMESPACE:\xf0\'\'\xf0""-last',我可以直接从那里删除它。

【讨论】:

  • 很高兴这个建议有帮助!
猜你喜欢
  • 2015-12-29
  • 2018-01-19
  • 2018-05-31
  • 1970-01-01
  • 2012-05-30
  • 2014-05-27
  • 1970-01-01
相关资源
最近更新 更多