如何删除带有特殊字符的Redis密钥?

时间:2017-10-20 17:53:01

标签: redis redis-cli

我无法从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

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

1 个答案:

答案 0 :(得分:2)

我最终根据ceejayoz的建议尝试了python客户端。

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

相关问题