我无法从我们的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
有人知道一种方法,使这项工作或一个合理的替代删除键?
2条答案
按热度按时间bvjxkvbb1#
按照ceejayoz的建议,我最终尝试了python客户端。
原来实际的键是
b'ENV:NAMESPACE:\xf0\'\'\xf0""-last'
,我可以直接从那里删除它。xfb7svmp2#
我也同意ceejayoz的建议:在我的例子中,它与RedisPHP库一起工作,代码如下: