redis Strings

2021. 4. 11. 03:20 NoSQL/redis

개요

key 하나당 하나의 value를 가집니다.

key와 value의 Data Type은 문자, 숫자, 이미지등을 사용할 수 있습니다.

key와 value의 최대 길이는 512MB입니다.

 

명령어 요약

저장 :SET, MSET, SETNX, SETEX, MSETNX

SET :set key value 예)set stringK "가나 다라!!", stringK에 가나 다라!! data를 저장 합니다. 띄어쓰기를 할 때 큰따움표를 사용 합니다.

이미 존재하는 key 값을 set 하면 새로운 value로 대체 됩니다.

MSET :set key1 value1 key2 value2 예)mset stringA 아이 stringB 엠걸, 여러개의 데이터를 입력 합니다.

SETNX :setnx key value 예)setnx stringK 입력, stingk key가 존재하지 않을 경우에만 저장 됩니다. 성공시 1, 실패시 0을 리턴 합니다.

SETEX : setex key seconds value 예)setex stringk 5 5초후사라진다 , 지정한 시간 (seconds)후 데이터가 지워 집니다.

MSETNX :msetnx key value [key value ...]  예)mesetnx string1 값1 string2 value2 , 여러개의 데이터를 한번에 저장 합니다.

만약 keys 중 하나라도 이미 존재하는 key 라면 전체가 실패 합니다. 성공시 1, 실패시 0을 리턴 합니다.

 

조회 :GET, MGET, STRLEN, GETRANGE

GET : get key 예)get stingK , key의 value를 조회 합니다.

MGET :mget key [key ...] 예)mget string1 string2, 여러 key들의 데이터를 한번에 조회 합니다.

존재하지 않는 data는 null로 리턴 됩니다.

STRLEN :strlen key 예)strlen stringK , key의 value 바이트 수를 리턴 합니다. UTF-8 기준 Byte 수 입니다.

GETRANGE :getrange key start end 예)getrange stringK 0 3 , value의 일부 문자열을 조회 합니다.

문자열의 왼쪽부터 0부터 시작합니다. 음수의 경우 오른쪽 부터 -1부터 시작 합니다.

 

삭제 :DEL, PSETEX

DEL :del key [key...] 예)del stringK string1 , key 를 삭제 합니다. 존재하는 key들만 삭제 하며 삭제된 키의 숫자를 리턴합니다.

PSETEX :psetex key milliseconds value 예)psetex stringK 1000 삭제될예정, milliseconds 후 데이터가 삭제 됩니다.

 

업데이트 :APPEND, SETRANGE, INCR, DECR, INCRBY, DECRBY, INCRBYFLOAT

APPEND :append key value 예)append stringK "추가혹은생성" , 기존에 key 값이 있다면 추가 하고, 없는 경우 생성(set)하여 삽입 합니다.

SETRANGE :setrange key offset value 예)setrange stringK 3 "abcd" , 지저한 offset 위치부터 value를 over write 합니다.

offset은 0부터 시작합니다.

INCR : incr key 예) incr int_key , key의 value가 int형일 경우 값을 1 증가 시킵니다. 더해진 결과 값을 리턴 합니다.

key값이 존재 하지 않으면 0을 기준으로 1을 증가 시켜 삽입 합니다.

DECR :  decr key 예)decr int_key,  key의 value가 int형일 경우 값을 1 감소 시킵니다. 차감된 결과 값을 리턴 합니다.

key값이 존재 하지 않으면 0을 기준으로 -1을 감소 시켜 삽입 합니다.

INCRBY : incrby key increment(int) 예)incrby int_key 10, 지정한 숫자 만큼 값을 증가 시킵니다. 더해진 결과 값을 리턴합니다.

key값이 존재 하지 않으면 0을 기준으로 정해진 값 만큼 증가 시켜 삽입 합니다.

DECRBY :decrby key decrement(int) 예)decrby int_key 10, 지정한 숫자에 -1을 곱해 값을 더합니다.

지정된 값이 음수 이면 음수 * (-1)이 되어 값이 증가 합니다

INCRBYFLOAT :incrbyfloat key increment(int/float) 예)incrbyfloat float 10.0, 지정한 숫자 (정수/실수)만큼 증가 시키고, 결과 값을 리턴 합니다.

key값이 존재 하지 않으면 0을 기준으로 정해진 값 만큼 증가 시켜 삽입 합니다.

음수 입력도 가능하며, 음수를 입력하면 감소 처리 됩니다.

 

조회 후 저장 : GETSET

GETSET : getset key value 예)getset int_key 10, 현재 key값을 가져오고 입력된 value으로 치환 합니다.

 

비트 연산 : SETBIT, GETBIT, BITOP, BITCOUNT, BITPOS

SETBIT :setbit key offset value 예) setbit int_key 6 1, offset 은 0부터 시작하고 value 는 0/1만 사용 가능합니다.

offset 비트의 값을 치환 하며, 원래 가지고 있던 value를 리턴 합니다.

GETBIT :getbit key offset 예) getbit int_key 5, offset 비티의 값을 가져 옵니다. 범위 외의 bit를 지정하면 0을 리턴 합니다.

BITOP :bitop operation destkey key [key ...] 예)bitop and dkey key1 key2 

key들을 operation 종류에 따른 bit연산을 하여 destkey에 삽입합니다.

operation의 종류는 AND, OR, XOR, NOT 이 있습니다.

BITCOUNT :bitcount key start end 예)bitcount key 1 2,  1과 2 바이트값중 1인 bit 수를 출력 합니다.

start end 값을 입력하지 않으면 전체 범위에서 1인 bit 수를 출력 합니다.

음수를 입력한 경우 -1, -2 순으로 마지막 바이트 부터 접근 합니다.

BITPOS : bitpos key bit [start [end]] , 지정한 bit의 자리수(위치)를 가져 옵니다. 위치는 0부터 0,1,2,... 의 값을 가져 옵니다.

bitpos key 1, key 의 1 bit 자리의 위치 = 1

bitpos key 1 2, key의 3byte 의 1 bit 자리의 위치 = 17, Byte는 0,1,2.. 의 값을 가집니다.

start end는 음수가 가능 하며, -1,-2,... 의 값을 가집니다.

 

출처 : code-factory.tistory.com/11?category=724511

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

Redis - 조회 명령어 정리  (0) 2022.05.09
Redis Lua Script를 활용 예  (0) 2021.04.11
Redis 의 Lua Script 활용  (0) 2021.04.11
Redis cluster  (0) 2021.04.11
redis Lists  (0) 2021.04.11
redis Sorted Sets  (0) 2021.04.11
redis Sets  (0) 2021.04.11
redis Hashes  (0) 2021.04.11