NoSql, MemoryDB

Redis 데이터 타입 - List

SungWookKang 2019. 4. 27. 08:35
반응형

 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

 

 

[참고자료]

https://redis.io/commands

 

2019-04-26 / Sungwook Kang / http://sungwookkang.com

 

Redis, Redis 입력, hget, hmset, hmget, redis 데이터 타입, redis list 데이터 타입, 레디스 데이터 타입, 레디스 리스트

반응형