티스토리 뷰
리스트
레디스의 리스트는 자료구조 중 LinkedList의 쓰임새와 동일하다. ※LinkedList를 알아보자(참고만 하세요)
실제로는 사용자의 최신 글 등을 출력할 때 사용된다고 한다.
REDIS 리스트는 처음 또는 끝에서부터 데이터를 추가한다. 또한, 리스트의 VALUE들은 항상 왼쪽(L)에서 오른쪽(R)으로 접근한다.
주요 사용 커맨드는
1. LPUSH : KEY에 대한 VALUE 들을 리스트의 처음부터 추가 함. 인덱스는 0, 1, 2, 3, ... 21억 까지. VALUE의 개수를 리턴한다.
2. RPUSH : KEY에 대한 VALUE 들을 리스트의 끝에서부터 추가 함. 인덱스는 -1, -2, -3, ... -21억 까지. VALUE의 개수를 리턴한다.
3. LLEN : KEY에 대한 리스트의 길이(VALUE의 개수)를 리턴
4. LINDEX : 해당 리스트의 인덱스에 해당하는 VALUE를 리턴한다.
5. LRANGE : 해당 리스트의 인덱스 범위에 있는 모든 VALUE를 배열로 리턴한다.
예)
6. LPOP : KEY에 대한 리스트의 첫번째 VALUE를 삭제함과 동시에 그 값을 리턴한다.
7. RPOP : KEY에 대한 리스트의 마지막 VALUE를 삭제함과 동시에 그 값을 리턴한다.
8. BLPOP : LPOP과 기능은 동일하나 블로킹 기능이 있다. 해당 VALUE 값이 없으면 생길 때까지 기다린다.
※블로킹, 넌블로킹 그리고 동기와 비동기에 대해서 공부하려면 다음을 참조하자
9. BRPOP : RPOP과 기능은 동일하나 마찬가지로 블로킹 기능이 있다. 해당 VALUE 값이 없으면 생길 때까지 기다린다.
10. RPOPLPUSH : RPOP+LPUSH 기능이 합쳐진 커맨드로서, 매개변수로 두 개의 KEY를 필요로 한다.
이 때 하나의 KEY(srckey)는 하나의 리스트에서 RPOP을 하기 위한 KEY이며, 다른 하나의 KEY(dstkey)는 RPOP으로 얻은 VALUE를 다른 리스트에서 LPUSH 기능을 수행하기 위한 KEY이다. 이는 큐잉을 할 때 신뢰성을 향상시키기 위한 방법이다.
※역시 BRPOPLPUSH 메소드가 존재하며 블로킹 기능을 제공한다.
'개발일지 > NOSQL' 카테고리의 다른 글
PhpStorm에서 Phpredis 기본 사용법(Redis 사용법) (0) | 2018.05.26 |
---|