#zscore, zrevrange

https://stackoverflow.com/questions/9282822/is-it-possible-to-duplicate-a-redis-sorted-set#

http://redis.io/commands/zunionstore

zadd foo 1 a
zadd foo 2 b
zunionstore bar 1 foo
zrange bar 0 -1
1) "a" 
2) "b"


'redis' 카테고리의 다른 글

zscore list copy  (0) 2016.10.12
redis sentinel  (0) 2015.11.30
[Redis] HSET vs SET  (0) 2015.01.09

Redis sentinel은 redis failover를 위한 중개자.

http://redis.io/topics/sentinel

https://www.youtube.com/watch?v=fBDRO-d6cZQ

이 두개의 싸이트만 참조하면 대충 이해감.

Sentinel Config

sentinel monitor mymaster 127.0.0.1 6379 2
sentinel down-after-milliseconds mymaster 60000
sentinel failover-timeout mymaster 180000
sentinel parallel-syncs mymaster 1

레디스 홈피에서도 말하듯 이게 mymaster 레디스 셋을 위한 미니멈 셋팅. slave정보는 sentinel config에 없어도됨. 알아서 마스터를 통해 가져옴


Master

마스터는 원래 띄우던 config로 띄우고


Slave

slave녀석은 마스터 녀석 설정에 다음을 추가한다. (마스터 config에 별다른 특이사항이 없다면 그냥 아래만 추가해서 써도될듯)

port 6380

slaveof 127.0.0.1 6379

(여기서 센티넬이 다른머신에 있다면 127 말고 머신 ip 써야 failover 됨)


'redis' 카테고리의 다른 글

zscore list copy  (0) 2016.10.12
redis sentinel  (0) 2015.11.30
[Redis] HSET vs SET  (0) 2015.01.09

멀까 뭘써야할까?

SET은 그냥 키 벨류

HSET은 키 하나에 여러개를 쪼개서 넣을 수 있다.

예를 들어 유저 id를 Hash키로 잡고 {nickname: 'John', age:35}  이렇게 id에 국한된 데이터를 한데 저장할 수 있다.

검색을 해보면 계산시간에 대해 다음과 같은 말도 있다.

SET은 키 문자열 그대로 저장하고 써서 찾아내는 CPU 계산 시간이 빠르다.
HSET은 키 문자열을 한번 짧은 길이로 바꿔서 저장하기 때문에 요고 맵핑하는 계산이 한번 더 들어간다. 그러나 이 시간은 최대 ziplist(키 encode/decode할때 쓰는 code리스트 인듯) 크기만큼 든다. 

키를 겁네 많이 저장해놓고 쓰는 경우가 많아서 메모리를 효율적으로 쓰기위해선 HSET을 쓰는게 좋다. 라고 생각할 수도 있겠지만 결국은 "어떤 자료구조를 쓸 것인가"가 중요하다고 한다.

그냥 키 벨류한쌍이 필요한 거면 SET을 쓰고, 위와같이 ID에 묶여있는 정보들을 쓸거면 HSET을 쓰고.


Reference

1. http://stackoverflow.com/questions/12779372/hset-vs-set-memory-usage

2. http://grokbase.com/t/gg/redis-db/12a89re9n7/hset-vs-set-memory-usage

'redis' 카테고리의 다른 글

zscore list copy  (0) 2016.10.12
redis sentinel  (0) 2015.11.30
[Redis] HSET vs SET  (0) 2015.01.09

+ Recent posts