2017-10-20 6 views
0

Redis 인스턴스에서 ENV:NAMESPACE:?''?""-last 형식의 키를 삭제할 수 없습니다. 악의적으로 추가 된 것 같습니다.특수 문자가있는 Redis 키를 삭제하는 방법은 무엇입니까?

redis-cli --scan에 의해 반환되었지만 redis-cli을 사용하여 삭제할 방법을 찾을 수 없습니다. 셸에서 탈출하거나 대화 형 모드를 사용할 때마다 키를 찾을 수 없습니다.

은 불과 몇 시도는 다음과 같습니다

$ 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