redis-cli
쉘 스크립트에서 문자열 목록 으로 사용하기 위해 Redis 목록의 모든 값을 내보내려고 합니다 . 하지만 삭제할 수 없는 원치 않는 텍스트가 있습니다.
다음 목록의 경우 q1
:
redis:6379> 5 lpush q1 "{\"id\":1}"
(integer) 1
(integer) 2
(integer) 3
(integer) 4
(integer) 5
redis:6379>
직접 내보내면 LRANGE
결과의 각 줄 시작 부분에 줄 번호와 대괄호가 표시됩니다(제거해야 함).
:/# redis-cli -h redis LRANGE q1 0 -1
1) "{\"id\":1}"
2) "{\"id\":1}"
3) "{\"id\":1}"
4) "{\"id\":1}"
5) "{\"id\":1}"
다음을 사용하는 경우 값(제거해야 함) 사이에 쉼표가 있습니다 redis-cli --csv
.
:/# redis-cli -h redis --csv LRANGE q1 0 -1
"{\"id\":1}","{\"id\":1}","{\"id\":1}","{\"id\":1}","{\"id\":1}"
Redis가 행당 하나씩 목록 값만 내보내도록 만드는 방법은 무엇입니까?
답변1
내 노트북에서 명령줄 옵션을 redis-cli
사용하면 간단한 값 목록만 포함된 출력이 생성됩니다. --raw
즉, "1)" 또는 "2)"와 같은 접두사가 없습니다.
Redis 버전 6.0.9에는 --raw
명령줄 옵션이 추가되었으므로 redis-cli
이전 버전은 지원되지 않습니다.