TIL

3장 레디스 기본 개념

레디스의 자료 구조

string

> SET hello world
ok

> GET hello
"world"
> SET hello newal NX
(nil)

> SET hello newal XX
ok

> GET hello
"newal"
> SET counter 100
ok

> INCR counter
(integer) 101

> INCRBY counter 50
(integer) 151
> MSET a 10 b 20 c 30
ok

> MGET a b c
1) "10"
2) "20"
3) "30"

list

Hash

> HSET Product:123 Name "Happy Hacking"
(integer) 1

> HSET Product:123 TypeID 35
(integer) 1

> HSET Product:123 Version 2002
(integer) 1

> HSET Product:234 Name "Track Ball" TypeID 32
(integer) 2
> HGET Product:123 TypeID
"35"

> HGET Product:234 Name, TypeID
1) "Track Ball"
2) "32"
> HGETALL Product:234
1) "Name"
2) "Track Ball"
3) "TypeID"
4) "32"

sorted set

> ZADD score:220817 100 user:B
(integer) 1

> ZADD score:220817 150 user:A 150 user:C 200 userF 300 user:E
(integer) 4
> ZRANGE key start stop [BYSCORE | BYLEX] [REV] [LIMIT offset count]
[WITHSCORES]

sorted set - 인덱스로 데이터 조회

> ZRANGE score:220817 1 3 WITHSCORES
1) "user:A"
2) "150"
3) "user:C"
4) "150"
5) "user:F"
6) "200"

스코어로 데이터 조회

> ZRANGE score:220817 100 150 BYSCORE WITHSCORES
1) "user:A"
2) "100"
3) "user:C"
4) "150"
5) "user:F"
6) "150"

# 스코어에 ( 문자를 추가하면 해당 스코어를 포함하지 않는다.
> ZRANGE score:220817 (100 150 BYSCORE WITHSCORES
1) "user:C"
2) "150"
3) "user:F"
4) "150"

사전 순으로 데이터 조회

> ZRANGE mySortedSet (b (f BYLEX
banana
candy
dream
egg

비트맵

> SETBIT mybitmap 2 1
(integer) 1

> GETBIT mybitmap 2
(integer) 1
> BITCOUNT mybitmap
(integer) 4)

Hyperloglog

> PFADD members 123
(integer) 1

> PFADD members 500
(integer) 1

> PFADD members 12
(integer) 1

> PFCOUNT members
(integer) 3

Geospatial

> GEOADD travel 14.2353452534 50.235234123 prague
(integer) 1
> GEOPOS travel prague
1) 1) "14.2353452534"
   2) "50.235234123"

stream