레디스(Redis) 설치 및 사용 법 예제

2017. 11. 12. 00:40it

반응형

 

1. Redis 란

메모리 구조의  키-값 구조로 데이터를 관리하는 nosql 일종이다.

 

2. 작업환경

우분투 16.04 버전( 버츄얼 환경 )

 

3. Redis를 설치한다.

# sudo apt-get install redis-server

 

설치가 완료 되었다.

 

4. Redis 실행하기

#service redis-server start


==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
Authentication is required to start 'redis-server.service'.
Authenticating as: dnfka,,, (dnfka)
Password:
==== AUTHENTICATION COMPLETE ===

 

5. Redis 프로세스 확인
#ps -ef | grep redis

redis     4879     1  0 23:46 ?        00:00:00 /usr/bin/redis-server 127.0.0.1:6379

 

 

 

6. Redis 실행

#redis-cli

127.0.0.1:6379>

 

7. 키를 검색해 본다.

127.0.0.1:6379> keys *
(empty list or set)


8. 값을 입력해본다.

데이터 입력 값의 구조는 key value 로 구성된다.

 

[값 입력]

127.0.0.1:6379> set 1 uram
OK

 

[값 출력]

127.0.0.1:6379> get 1
"uram"

9. 여러개의 키와 값을 동시 입력 ( mset, mget )

 

 

데이터 입력 값의 구조는 key value key value..... 로 구성된다.

 

 

[값 입력]

 

127.0.0.1:6379> mset 2 "aaa" 3 "bbb"

 

[값 출력]

127.0.0.1:6379> mget 1 2 3
1) "uram"
2) "aaa"
3) "bbb"

 

10. 리스트 사용

redis 의 리스트는 데이터를 한개의 키로 여러개의 값을 관리할 수 있게 도와주는 기능을 제공한다.

 

리스트 입력 구조는 key value value.... 이다.

 

[값 입력]

127.0.0.1:6379> rpush list01 "a01" a"02" "a03"
(integer) 3

[값 출력]

127.0.0.1:6379> lrange list01 0 -1
1) "a01"
2) "a02"
3) "a03"

 

 

 

--------------------------------------------------------------------------

 

 

 

[값 입력]

127.0.0.1:6379> rpush list01 "a04"
(integer) 4

 

[값 출력]

127.0.0.1:6379> lrange list01 0 -1
1) "a01"
2) "a02"
3) "a03"
4) "a04"

 

 

 

--------------------------------------------------------------------------

 

 

[값 입력] -왼쪽에 데이터를 붙일 수 있다.

127.0.0.1:6379> lpush list01 "a00"
(integer) 5

[값 출력]

127.0.0.1:6379> lrange list01 0 -1
1) "a00"
2) "a01"
3) "a02"
4) "a03"
5) "a04"


 

11. 리스트에서 값을 pop 하기

데이터를 읽으면 삭제되는 기능이다.

rpop 과 lpop 이 존재한다.

rpop 은 오른쪽 데이터 부터

lpop 은 왼쪽 데이터 부터 읽고 삭제한다.

 

현재 데이터 상황

 

1) "a00"
2) "a01"
3) "a02"
4) "a03"
5) "a04"

 

[값 pop]

127.0.0.1:6379> rpop list01
"a04"

 

[값 출력]

127.0.0.1:6379> lrange list01 0 -1
1) "a00"
2) "a01"
3) "a02"
4) "a03"

 

 

 

--------------------------------------------------------------------------

 

[값 pop]

127.0.0.1:6379> lpop list01
"a00"

 

[값 출력]
127.0.0.1:6379> lrange list01 0 -1
1) "a01"
2) "a02"
3) "a03"

 

 

--------------------------------------------------------------------------

 

 

127.0.0.1:6379> lpop list01
"a01"
127.0.0.1:6379> lpop list01
"a02"
127.0.0.1:6379> lpop list01
"a03"
127.0.0.1:6379> lpop list01
(nil)

 

값을 모두 반환하면 nil 값이 나온다.

 

 

 

 

12. 리스트 값 범위 삭제

 

 

일단 값을 입력한다

127.0.0.1:6379> rpush list01 a01 a02 a03 a04 a05
(integer) 5

 

[값 범위 설정]

127.0.0.1:6379> ltrim list01 2 2
OK

 

[값 출력]
127.0.0.1:6379> lrange list01 0 -1
1) "a03"

 

-리스트에 관련 데이터만 제외하고 모두 제거된다.

 

[값 범위 설정]

127.0.0.1:6379> ltrim list01 0 3
OK

 

[값 출력]
127.0.0.1:6379> lrange list01 0 -1
1) "a01"
2) "a02"
3) "a03"
4) "a04"

반응형