ZADD key [NX | XX] [GT | LT] [CH] [INCR] score member [score member
...]
e.g) ZADD key 점수 userIdx
# 1의 ranking 점수를 1로 세팅
127.0.0.1:6379> ZADD ranking 1 "1"
(integer) 1
# 1의 ranking 점수를 1로 세팅 (NX 옵션)
# NX 옵션은 key가 존재하지 않을때만 세팅. 현재 1이 있기 때문에 세팅 안됨
127.0.0.1:6379> ZADD ranking NX 2 "1"
(integer) 0
# 2의 ranking 점수를 2로 세팅
127.0.0.1:6379> ZADD ranking 2 "2"
(integer) 1
# 2의 ranking 점수를 3로 세팅 (LT 옵션)
# LT 옵션은 새로운 점수가 현재 점수보다 낮을때만 세팅. 현재 점수가 2이고, 새로운 점수가 1이기 때문에 세팅 안됨
127.0.0.1:6379> ZADD ranking LT 3 "2"
(integer) 0
# 3의 ranking 점수를 3로 세팅
127.0.0.1:6379> ZADD ranking 3 "3"
(integer) 1
# 4의 ranking 점수를 1로 세팅 (XX 옵션)
# XX 옵션은 key가 존재할때만 세팅. 현재 4가 없기 때문에 세팅 안됨
127.0.0.1:6379> ZADD ranking XX 1 "4"
(integer) 0
# 3의 ranking 점수를 2로 세팅 (GT 옵션)
# GT 옵션은 새로운 점수가 현재 점수보다 클때만 세팅. 현재 점수가 3이고, 새로운 점수가 2이기 때문에 세팅 안됨
127.0.0.1:6379> ZADD ranking GT 2 "3"
(integer) 0
# 3의 점수 제거
127.0.0.1:6379> ZREM ranking "3"
(integer) 1
# ranking의 순위를 처음부터 끝까지 점수와 함께 출력
127.0.0.1:6379> ZREVRANGE ranking 0 -1 withscores
1) "2"
2) "2"
3) "1"
4) "1"
# 1의 점수 출력
127.0.0.1:6379> ZSCORE ranking "1"
"1"
# 2의 등수 출력 (결과는 0등 (redis의 순의는 0부터 시작))
127.0.0.1:6379> ZREVRANK ranking "2"
(integer) 0
# 1의 등수 출력 (결과는 1등)
127.0.0.1:6379> ZREVRANK ranking "1"
(integer) 1
# ranking KEY 제거
127.0.0.1:6379> DEL ranking
(integer) 1
명령어 출처: redis.io