-
레디스 명령어 (2) list오늘/Today I.. 2024. 11. 24. 01:08
레디스에서 List라고 하면
Doubly Linked List의 형태로 데이터를 저장
다만 작은 크기의 리스트나 간단한 데이터인 경우 압축리스트 ziplist로 저장
이중연결리스트이기 때문에
push pop 명령어 실행 시 L, R을 지정해줘야함
LPUSH a:list 2 LPUSH a:list 1 RPUSH a:list 3 RPUSH a:list 4 # 1234 순으로 저장된다.
get은 문자열에서만 사용할 수 있는 명령어 이므로
pop으로 꺼내거나,
LRANGE로 특정 범위의 값을 가져오거나,
LINDEX로 특정 인덱스의 값을 가져올 수 있다.
(pop은 L, R 명시해줘야하지만, range와 index는 R이 없다.)
LRANGE a:list 0 -1 # -1을 줄경우 처음부터 끝까지 가져온다. # -1은 리스트의 마지막 요소를 의미하기 때문. -2는 뒤에서 두번째 -3은 세번째 ... # 뒤의 숫자는 범위를 벗어난 양수를 입력하더라도 레디스는 범위 내에 있는 값들만 반환하고 끝낸다. (에러 안남) LINDEX a:list 2 # 여기도 2 대신 -1을 주면 리스트의 가장 끝 요소를 가져온다.
리스트의 길이를 확인할때는 LLEN을 쓰면 된다.
LLEN a:list # RLEN은 없다
'오늘 > Today I..' 카테고리의 다른 글
레디스 명령어 (4) Hash, Sorted Set (0) 2024.11.24 레디스 명령어 (3) set (1) 2024.11.24 레디스 명령어 (1) String (0) 2024.11.23 MySQL 과 PostgreSQL (1) 2024.11.19 데이터베이스 정규화 (0) 2024.04.07