--String SET,GET 문자열 자료형
-- <명령어> <KEY> (VALUE)
SET user:email nimpa3201@naver.com
GET user:email
-- 정수가 문자열로 저장된 경우
-- INCR : ++ , DECR : --
SET user:count 1
GET user:count
INCR user:count
GET user:count
DECR user:count
GET user:count
--MSET,MGET
MSET user:name bred user:email brad3201@naver.com
MGET user:name user:email
-- 문자열 -> toCharArray() toByteArray()
-- 문자열 -> 이미지, 음성, 영상, 파일 ,HTML (512MB) // 레디스 메모리에 올리고 싶으면 문자열 사용 가능
-- Simple
LIST TYPE
--List : Linked List
-- 스택,큐 처럼 사용가능
-- Push, Pop -> 왼쪽(L)이냐 오른쪽(R)이냐
LPUSH user:list alex
LPUSH user:list brad
RPUSH user:list chad
RPUSH user:list dave
LPOP user:list
RPOP user:list
- KEY에 저장된 자료형이 다를 경우 오류가 발생한다.(문자열 타입 명령어 GET)
GET user:list
오류 발생
-- LLEN: 리스트의 크기
LLEN user:list
-- 리스트의 내용 범위 밖으로 설정해도 오류 X
LRANGE user:list 0 10000
-- 음수 index
LRANGE user:list 0 -1
LRANGE user:list 0 -2
--end < start 빈리스트 돌려줌
LRANGE user:list 1 0
Set TYPE
-- Set: (문자열의) 집합
-- 중복을 허용하지 않는다.
SADD user:java alex
SADD user:java brad
SADD user:java chad
-- 제거
SREM user:java alex
-- 존재 유무
SISMEMBER user:java brad
-- set에 존재하는 모든 원소
SMEMBERS user:java
-- set의 크기
SCARD user:java
-- 교집합
SINTER user:java user:python
-- 합집합
SUNION user:java user:python
-- 교집합의 원소의 개수 //2 키의 개수 의미
SINTERCARD 2 user:java user:python
Hash Type
--HASH
--Field - Value Pair
HSET user:alex name alex age 25
-- 특정 키의 값 가져오고 싶을떄
HGET user:alex name
HGET user:alex age
-- 복수의 키의 값 가져오고 싶을떄
HMGET user:alex age major
-- 해시안에 모든 키값,벨류 가지고 오고싶을때
HGETALL user:alex
-- key 전부 가져오기
HKEYS user:alex
-- 해쉬 크기 반환
HLEN user:alex
-- 장바구니, 세션정보
HSET cart:alex computer 1 mouse 2 keyboard 10
- 장바구니 예시
Sorted Set TYPE 정렬된 집합 : 중복되지 않는 데이터 + 점수
--Sorted Set
-- 정렬된 집합 : 중복되지 않는 데이터 + 점수
-- ZADD key score value
ZADD user:rank 10 alex
ZADD user:rank 9 brad 11 chad
ZADD user:rank 8 dave
ZADD user:rank 9.5 eric
-- 특정 value score 올려주기
ZINCRBY user:rank 2 alex
-- 점수 몇번째인지 보여줌 가장 낮으면 0
ZRANK user:rank alex
ZRANK user:rank eric
ZRANK user:rank dave
-- 점수 높은 순으로 몇번째인지 보여줌 가장 높으면 0
ZREVRANK user:rank alex
-- 점수 낮은 사람 범위안에서 정렬해서 보여줌
ZRANGE user:rank 0 3
-- 점수 높은 사람 버위안에서 정렬해서 보여줌
ZREVRANGE user:rank 0 3
--순위표(리더보드),Rate Lmiter
key 타입 상관 X
-- DEL : key 삭제하기 타입 관계없음
SET somekey "to be deleted"
DEL somekey
--EXPIRE : 만료시간 설정 (5초)
SET expirekey "to be expired"
EXPIRE expirekey 5
-- EXPIRETIME : 만료될 시간을 UNIX Timestamp로 반환
EXPIRETIME expirekey
-- KEYS: Key를 검색한다
KEYS *
-- FLUSHDB : 모든 키 다 사람짐
FLUSHDB
--String SET,GET 문자열 자료형
-- <명령어> <KEY> (VALUE)
SET user:email nimpa3201@naver.com
GET user:email
-- 정수가 문자열로 저장된 경우
-- INCR : ++ , DECR : --
SET user:count 1
GET user:count
INCR user:count
GET user:count
DECR user:count
GET user:count
--MSET,MGET
MSET user:name bred user:email brad3201@naver.com
MGET user:name user:email
-- 문자열 -> toCharArray() toByteArray()
-- 문자열 -> 이미지, 음성, 영상, 파일 ,HTML (512MB) // 레디스 메모리에 올리고 싶으면 문자열 사용 가능
-- Simple
--List : Linked List
-- 스택,큐 처럼 사용가능
-- Push, Pop -> 왼쪽(L)이냐 오른쪽(R)이냐
LPUSH user:list alex
LPUSH user:list brad
RPUSH user:list chad
RPUSH user:list dave
LPOP user:list
RPOP user:list
-- KEY에 저장된 자료형이 다를 경우 오류가 발생한다.(문자열 타입 명령어 GET)
GET user:list
-- LLEN: 리스트의 크기
LLEN user:list
LRANGE user:list 0 3
LRANGE user:list 0 -1
LRANGE user:list 0 -2
--end < start 빈리스트 돌려줌
LRANGE user:list 1 0
-- Set: (문자열의) 집합
-- 중복을 허용하지 않는다.
SADD user:java alex
SADD user:java brad
SADD user:java chad
-- 제거
SREM user:java alex
-- 존재 확인
SISMEMBER user:java brad
-- set에 존재하는 모든 원소
SMEMBERS user:java
-- set의 크기
SCARD user:java
-- 교집합 합집합
SADD user:python alex
SADD user:python dave
SADD user:java alex
-- 교집합
SINTER user:java user:python
--합집합
SUNION user:java user:python
-- 교집합의 원소의 개수 //2 키의 개수 의미
SINTERCARD 2 user:java user:python
--HASH
--Field - Value Pair
HSET user:alex name alex age 25
HSET user:alex major CSE
HGET user:alex name
HGET user:alex age
HMGET user:alex age major
HGETALL user:alex
HKEYS user:alex
HLEN user:alex
-- 장바구니, 세션정보
HSET cart:alex computer 1 mouse 2 keyboard 10
--Sorted Set
-- 정렬된 집합 : 중복되지 않는 데이터 + 점수
-- ZADD key score value
ZADD user:rank 10 alex
ZADD user:rank 9 brad 11 chad
ZADD user:rank 8 dave
ZADD user:rank 9.5 eric
ZINCRBY user:rank 2 alex
-- 점수 몇번째인지 보여줌 가장 낮으면 0
ZRANK user:rank alex
ZRANK user:rank eric
ZRANK user:rank dave
ZREVRANK user:rank alex
-- 점수 낮은 사람 범위안에서 정렬해서 보여줌
ZRANGE user:rank 0 3
-- 점수 높은 사람 버위안에서 정렬해서 보여줌
ZREVRANGE user:rank 0 3
-- DEL : key 삭제하기 타입 관계없음
SET somekey "to be deleted"
DEL somekey
--EXPIRE
SET expirekey "to be expired"
EXPIRE expirekey 5
EXPIRETIME expirekey
KEYS *
-- FLUSHDB : 모든 키 다 사람짐
FLUSHDB