Redis 데이터 타입 - List
Redis 데이터 타입 - List
· Version : Redis 3.2.100 (Windows)
Redis 의 List 데이터 타입은 배열(Array) 과 비슷한 데이터 구조이다. List 타입의 데이터를 핸들링할 때에는 lpush, lrange, rpush, rpop, llen, lindex 명령어를 사용한다.
[lpush]
List 타입은 하나의 key에 여러 개의 value를 저장할 수 있다.
lpush key value value value … lpush order:20190426 "<item_id>1</item_id><item_name>redis</item_name><item_price>000</item_price>" "<item_id>2</item_id><item_name>client</item_name><item_price>000</item_price>” |
[lrange]
List 형태의 데이터를 검색할때 lrange 명령어를 사용한다. 명령어 사용시 key, start, stop 값을 함께 사용한다. 아래 스크립트는 0 -10개의 리스트값을 검색한다.
lrange key start stop lrange order:20190426 0 10 |
[rpush]
List데이터 타입에서 기존에 저장되어 있는 데이터 마지막에 새로운 value 를 저장할때 rpush 명령어를 사용한다.
rpush key value value … rpush order:20190426 "<item_id>3</item_id><item_name>cli</item_name><item_price>000</item_price>" |
[lpushx]
타입에서 기존에 저장되어 있는 데이터 맨 앞에 새로운 value 를 저장
lpushx key value lpushx order:20190426 “<item_id>4</item_id><item_name>cli</item_name><item_price>000</item_price>" |
[linsert]
Value 와 value 사이에 값을 끼워넣는다. 아래 스크립트는 <item_id>3</item_id>앞에 <item_id>5</item_id> 값을 끼워 넣는다.
linsert key BEFORE|AFTER pivotvalue linsert order:20190426 before "<item_id>2</item_id><item_name>cli</item_name><item_price>000</item_price>" "<item_id>5</item_id><item_name>cli_5</item_name><item_price>000</item_price>" |
[lset]
특정 key 의 인덱스에 해당하는 value 값 변경
lset key index value lset order:20190426 0 "<item_id>5</item_id><item_name>cli_5</item_name><item_price>000</item_price>" |
[rpop]
마지막에 저장된 values값을 제거
rpop key rpop order:20190426 |
[llen]
저장된 values의 개수를 출력
llen key llen order:20190426 |
[lindex]
검색하려는 key의 특정 인덱스 위치에 저장된 데이터 검색
lindex key lindex order:20190426 0 |
[참고자료]
2019-04-26 / Sungwook Kang / http://sungwookkang.com
Redis, Redis 입력, hget, hmset, hmget, redis 데이터 타입, redis list 데이터 타입, 레디스 데이터 타입, 레디스 리스트