Redis 데이터 입력/수정/삭제/조회

2023. 12. 10. 09:59NoSQL/Redis

종류 내용
set 데이터를 저장할 때(key, value)
get 저장된 데이터를 검색할 때
rename 저장된 데이터 값을 변경할 때
randomkey 저장된 key 중에 하나의 key를 랜덤하게 검색할 때
keys 저장된 모든 key를 검색할 때
exits 검색 대상 key가 존재하는지 여부를 확인할 때
mset/mget 여러 개의 key와 value를 한번 저장하고 검색할 때

 

Redis DB에 데이터를 입력/수정/삭제/조회하기 위해서는 반드시 Redis 서버에서 제공하는 명령어를 사용해야 하며 데이터를 조작할 때는 하나의 Key에 대해 하나 이상의 Field 또는 Element 로 표현해야 한다.


Redis 서버 실행

cd /home/redis/src
./redis-server /home/redis/redis_5000.conf

 

 cd /home/redis/src
 ./redis-cli -p 5000

 


명령어 사용

127.0.0.1:5000> set 1111 "muyeon"  # key:1111, value: muyeon 데이터 저장(SET)
OK
127.0.0.1:5000> set 1112 "yeonmu"
OK
127.0.0.1:5000> set 1113 "min"
OK
127.0.0.1:5000> set 1114 "seung"
OK
127.0.0.1:5000> get 1111           # key:1111 에 대한 데이터 검색(GET)
"muyeon"
127.0.0.1:5000> get 1112
"yeonmu"
127.0.0.1:5000> keys *             # 현재 저장되어 있는 모든 Key 출력
1) "1113"
2) "1112"
3) "1111"
4) "foo"
5) "1114"
127.0.0.1:5000> keys *2            # 현재 저장되어 있는 key 중에 2로 끝나는 key 만 검색 "1112"
1) "1112"
127.0.0.1:5000> del 1112           # key:1112 삭제
(integer) 1
127.0.0.1:5000> keys *
1) "1113"
2) "1111"
3) "foo"
4) "1114"
127.0.0.1:5000> rename 1113 1116   # key:1113 을 key:1116으로 변경
OK
127.0.0.1:5000> keys *
1) "1111"
2) "foo"
3) "1116"
4) "1114"
127.0.0.1:5000> randomkey          # 현재 key 중에 랜덤으로 key 검색
"1116"
127.0.0.1:5000> exists 1116        # key:1116의 존재여부 검색(존재:1)
(integer) 1
127.0.0.1:5000> exists 1112        
(integer) 0                        # key:1112 는 존재하지 않음
127.0.0.1:5000> strlen 1111        # key:1111 의 길이("muyeon")
(integer) 6
127.0.0.1:5000>

 

127.0.0.1:5000> flushall                   # 현재 저장되어 있는 모든 key 삭제
OK
127.0.0.1:5000> keys *
(empty array)
127.0.0.1:5000> setex 1111 30 "muyeon"     # EX는 expire(일정 시간 동안만 저장)
OK
127.0.0.1:5000> ttl 1111                   # 현재 남은 시간 확인 총 30초중 27초 남은 상태
(integer) 27
127.0.0.1:5000> ttl 1111
(integer) 26
127.0.0.1:5000> ttl 1111
(integer) 19
127.0.0.1:5000> ttl 1111
(integer) 12
127.0.0.1:5000> ttl 1111
(integer) 6
127.0.0.1:5000> ttl 1111
(integer) 1
127.0.0.1:5000> ttl 1111
(integer) -2
127.0.0.1:5000> ttl 1111
(integer) -2

 

127.0.0.1:5000> mset 1113 "NoSQL User Group" 1115 "PIT"    # 여러개의 필드를 한번에 저장
OK
127.0.0.1:5000> get 1113
"NoSQL User Group"
127.0.0.1:5000> get 1115
"PIT"
127.0.0.1:5000> mget 1113 1115                             # Mset에 저장된 값을 한번에 다중 검색
1) "NoSQL User Group"
2) "PIT"
127.0.0.1:5000> mget 1113 1115 nonexisting                 # nonexisting은 존재하지 않는 경우 nil 출력
1) "NoSQL User Group"
2) "PIT"
3) (nil)

 

127.0.0.1:5000> mset seq_no 20231209           # 연속 번호 발행을 위한 key/value 저장
OK
127.0.0.1:5000> incr seq_no                    # Incremental 증가값 +1
(integer) 20231210
127.0.0.1:5000> decr seq_no                    # Decremental 감소값 -1
(integer) 20231209
127.0.0.1:5000> incrby seq_no 2                # Incremental 증가값 +2
(integer) 20231211
127.0.0.1:5000> decrby seq_no 10               # Decremental 감소값 -10
(integer) 20231201

 

127.0.0.1:5000> append 1115 " co."       # 현재 value에 value 추가
(integer) 7
127.0.0.1:5000> get 1115      
"PIT co."                                # 최초값 PIT 에 co. 가 추가되었음
127.0.0.1:5000> keys *
1) "1115"
2) "1113"
3) "seq_no"
127.0.0.1:5000> save                     # 현재 입력한 key/value 값을 파일로 저장
OK
127.0.0.1:5000> flushall                 # 모든 key/value 값을 제거
OK
127.0.0.1:5000> keys *
(empty array)
127.0.0.1:5000> clear                    # 화면 clear

127.0.0.1:5000> time                     
1) "1702126526"                          # 데이터 저장시간(unix time in seconds) microseconds
2) "10107"
127.0.0.1:5000> info                     # redis 서버 설정 상태 조회 명령어
...
127.0.0.1:5000> exit
ubuntu@ip-172-31-43-7:/home/redis/src$ cd /home/redis/src
ubuntu@ip-172-31-43-7:/home/redis/src$ ls dump.rdb
dump.rdb                                 # save 명령어에 의해 운영체계 상에 생성된 RDB 파일

 

'NoSQL > Redis' 카테고리의 다른 글

Redis 데이터 타입  (0) 2023.12.12
Redis 캐싱과 전략  (1) 2023.12.11
Redis 간단한 용어 설명  (1) 2023.12.10
Redis Standalone 서버 구축  (0) 2023.12.08
EC2 ubuntu Redis 설치  (0) 2023.12.08