2016-07-10 4 views
1

RPUSH/LPUSH에 빈 목록이있는 키를 원합니다.
일관성을 유지하기 위해 LRANGE를 사용하여 키를 읽었을 때 목록이 비어 있는지 여부와 상관없이 나머지 코드는 동일하게 작동합니다.

키에 빈 목록이있는 경우 삭제되는 이유는 무엇입니까?
우리는 Redis를 캐시로 사용하기 때문에 두 가지 상황을 구분하고 싶습니다.
1. 해당 값이있는 특정 키가 아직 캐시되지 않았습니다. 어떤 경우에는 값을 계산 (오랜 시간이 걸립니다)하고 캐시합니다. 계산 결과는 빈 목록 일 수 있습니다.
2. 빈 목록이있는 키가 이미 캐시되었습니다. 어떤 경우에는 계산을 수행하지 않고 빈 목록을 반환하고자합니다.
Redis - 빈 목록을 RPUSH/LPUSH하는 방법

다음과 같은 옵션이 작동하지 않습니다

1. rpush 키 -> "인수 잘못된 번호 '인리스트 값의 결과.
2. rpush 키 [] ->이 '[]'항목을 추가

우리는 현재 "EMPTY 항목"항목 한 항목리스트를 저장하고 사용중인 (추한) 용액 및 우리가 목록을 읽을 때 그걸 확인해.

아이디어가 있으십니까?

답변

2

빈리스트 레디 스에 존재하지 않는 감사 - 목록이 하나 개 이상의 항목이 있어야합니다. 빈 목록 (예 : 비어 있지 않은 목록을 팝핑 한 결과)은 자동으로 제거됩니다.