728x90
( 출처 http://bcho.tistory.com/654 , http://wiki.pchero21.com/wiki/Redis )
String
일반적인 문자열로 최대 512mbyte 길이 까지 지원한다.
Text 문자열 뿐만 아니라 Integer와 같은 숫자나 JPEG같은 Binary File까지 저장할 수 있다.
String 이라고 해서 문자열만 저장할 수 있는게 아니라, 이진 데이터도 저장이 가능하다.(정수, 실수형이 따로 없다).
Redis String 사용 관련 document https://redis.io/commands/#string
String
- APPEND - 키가 이미 있고 문자열인 경우 문자열의 끝에 추가 , 키가 없으면 입력된 key value를 기준으로 생성
- SET - 문자열 value를 유지할수 있도록 key value설정 , 키가 이미 있다면 마지막에 Set한 값으로 덮어쓰고 라이브 시간은 마지막 Set작동시 폐기됨.
- GET - 해당 key값이 가지고 있는 value값을 가져온다 , 키가 없다면 특수 값 nil을 반환한다. 또한 Get은 문자열만 지원하기때문에 문자열이 아닌 다른 데이터 타입의 key를 쓴다면 오류가 발생한다.
- MSET - 지정된 키를 해당 값으로 설정한다 . 기존의 Set과 같이 키가 있다면 값을 덮어쓴다.
- MGET - 지정된 모든 키의 값을 반환한다 , 키가 없다면 nil이 발생한다. return type array
- DECR - 키에 저장된 숫자를 하나씩 줄인다. 단, 정수로 표시할 수 있는 문자열이어야 한다. 키가 없다면 default값으로 0으로 설정된 값부터 시작한다.
- DECRBY - DECR과 비슷하지만 감소시킬 step을 직접 지정 가능하다.
- INCR - 키에 저장된 숫자를 하나씩 증가시킨다. 단, 정수로 표시할 수 있는 문자열이어야 한다 . 키가 없다면 default값으로 0으로 설정도니 값부터 시작한다.
- INCRBY - INCR과 비슷하지만 증가시킬 step을 직접 지정 가능하다.
- INCRBYFLOAT - 키에 저장된 소수점 번호를 나타내는 문자열을 지정된 step만큼 증가시키거나 감소시킨다.
- SETNX - 키가 없는경우 key value로 설정한다. 하지만 키가 이미 값을 가지고 있다면 SET과 다르게 새로운 값으로 덮어 쓰지 않습니다.
- SETRANGE - 키에 저장된 문자열의 일부를 지정된 offset에서 시작하여 전체 값의 길이로 덮어쓴다. 존재하지 않는 키는 빈 문자열로 간주하고 오프셋값으로 설정할수있는부분만 지정하고 나머지 부분은 0바이트 패딩으로 저장한다.
- STRLEN - 키에 저장된 문자열 값의 길이를 반환한다 . key의 value가 String타입이 아니라면 오류를 반환한다.
# APPEND 127.0.0.1:6379> SET myName Choi ( 자기 이름 ) 127.0.0.1:6379> SET myName YunJin ( 자기 이름 ) # SET 127.0.0.1:6379> SET myAge 26 ( 자신의 나이 ) # GET 127.0.0.1:6379> GET myName # "ChoiYunJin" 출력 127.0.0.1:6379> GET myAge # "26" 출력 # MSET 127.0.0.1:6379> MSET firstName "YunJin" lastName "Choi" # MGET - return array 127.0.0.1:6379> MGET firstName lastName # 1) "YunJin" 출력 # 2) "Choi" 출력 # DECR # index라는 key가 없기 때문에 index를 0으로 세팅한후 감소하여 -1이 출력 127.0.0.1:6379> DECR index # (integer) -1 출력 127.0.0.1:6379> GET index # "-1" 출력 # DECRBY # 기존에 -1인 index를 STEP 3 만큼 감소 하여 -4 출력 127.0.0.1:6379> DECRBY index 3 # (integer) -4 출력 # INCR - 기존의 index 값 -4 에서 증가시킨 -3 127.0.0.1:6379> incr index (integer) -3 # INCRBY 기존의 index 값에서 STEP 3 만큼 증가시킨 값 0 127.0.0.1:6379> incrby index 3 (integer) 0 # INCRBYFLOAT 기존의 index값을 STEP 0.1 만큼 증가 decrbyfloat는 없고 STEP값의 양,음 여부에 따라 값 변경 # 주의사항 : 한번 incrbyfloat로 변경한값은 incre , decr로 변경 불가. 127.0.0.1:6379> incrbyfloat index 0.1 "0.1" #SETNX ( SET if Not eXists ) - 원래 SET은 마지막 값으로 덮어 쓰지만 SETNX를 사용할경우 키가 있다면 덮어쓰지 않는다. 127.0.0.1:6379> setnx myName "change" (integer) 0 127.0.0.1:6379> get myName "ChoiYunJin" #SETRANGE - 해당 key값의 offset부터 문자열 길이만큼 변경. 127.0.0.1:6379> setRange myName 0 "KIM " (integer) 10 127.0.0.1:6379> get myName "KIM YunJin" #STRLEN 127.0.0.1:6379> STRLEN myName (integer) 10
String 관련 명령어는 더 많이 존재하지만 필수적으로 쓸만할것들만 제 개인취향에 맞게 골라내서 테스트해보도록 하겠습니다.
더많은 명령어가 궁금하신분은 위에 String document에 간단한 예제가 잘나와있으니 알맞게 사용하시면 될 것 같습니다.
728x90
반응형
'Redis' 카테고리의 다른 글
[Redis] 데이터 타입 Sets (0) | 2018.10.18 |
---|---|
[Redis] 데이터 타입 Lists (0) | 2018.10.18 |
댓글