2017-10-20 69 views
0

我无法从我们的Redis实例中删除格式为ENV:NAMESPACE:?''?""-last的密钥。它似乎已被恶意添加。如何删除带有特殊字符的Redis键?

尽管它被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 

任何人都知道一个方法,使这项工作或一个合理的选择要删除的关键?

+0

可能值得尝试一个不同的客户端。 'del ENV:NAMESPACE:'''?'\“\” - last'虽然? – ceejayoz

回答

2

我结束了每个ceejayoz的建议尝试python客户端。

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

+1

很高兴那个建议帮了大忙! – ceejayoz