我无法从 Redis 实例中删除 ENV:NAMESPACE:?''?""-last
格式的键。它似乎是被恶意添加的。
尽管它是由 redis-cli --scan
返回的,但我找不到任何方法使用 redis-cli
删除它。在 shell 中转义或使用交互模式的每一种组合都无法找到 key 。
一些尝试包括:
$ 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
有人知道如何实现此目的或删除 key 的合理替代方法吗?
最佳答案
我最终按照 ceejayoz 的建议尝试了 python 客户端。
事实证明,实际的 key 是 b'ENV:NAMESPACE:\xf0\'\'\xf0""-last'
,我可以直接从那里删除它。
关于redis - 如何删除带有特殊字符的Redis键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46854691/