- Redis 철학 : Simple is BEST
- <명령어> <
key> ~~~ 형태
SET user:email ex@example.com
GET user:email`
INCR, DECR : ++, --SET user:count 1
GET user:count
INCR user:count
GET user:count
MSET : 여러개의 키값을 한번에 저장 -> Multi SetMGET : 여러개의 키값을 한번에 조회 -> Multi GetMSET user:name alex user:email alex@example.com
MGET user:name user:email
LPUSH user:list alex
RPUSH user:list chad
LPUSH user:list john
RPUSH user:list jake
- John, Alex, Chad, Jake 순서로 저장됨
LPOP user:list
- John
RPOP user:list
- Jake
LLEN user:list
- 2
LRANGE user:list 0 3
- Alex, Chad
LRANGE user:list 0 100000
LRANGE user:list 0 -1
LRANGE user:list 1 0
- 빈 리스트
ex)
SADD user:java alex
SADD user:java brad
SADD user:java chad
SREM user:java alex
SISMEMBER user:java brad
SMEMBERS user:java
SCARD user:java
SADD user:python alex
SADD user:python dave
SADD user:java alex
SINTER user:java user:python
- alex
SUNION user:java user:python
- alex, brad, chad, dave
SINTERCARD 2 user:java user:python
- 2 : 뒤에 나올 키의 갯수
특징 및 사용 예
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
ZADD user:ranks 10 alex
ZADD user:ranks 9 brad 11 chad
ZADD user:ranks 8 dave
ZADD user:ranks 9.5 eric
ZINCRBY user:ranks 2 alex
ZRANK user:ranks alex
ZREVRANK user:ranks alex
ZRANGE user:ranks 0 3
ZREVRANGE user:ranks 0 3
ZADD user:ranks 10 alex
ex) 순위표(리더보드), Rate Limeter (과도한 요청 거부)
SET somekey "to be deleted"
DEL somekey
DEL user:list
DEL user:python
DEL user:alex
SET expirekey "To be expired"
EXPIRE expirekey 50
- 50초 후에 expirekey 삭제
EXPIRETIME expirekey
KEYS user:*
*: 와일드카드
FLUSHDB