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

How to delete Redis keys with special characters?

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

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

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

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