Lettuce Cluster

Redis Developer Course Redis Technical Support Redis Enterprise Server

Cluster

Class 변수로 선언

Connection

클러스터 내 노드의 IP, Port를 지정해서 접속한다. 어떤 노드를 지정해서 접속해도 접속에 성공하면 cluster nodes 명령을 실행해서 클러스터 내 모든 노드의 정보를 lettuce가 가지고 있다.   노드는 하나만 지정해도 되지만, 그 노드가 다운되었을 경우에 대비해서 여러 노드를 지정한다. 복제(replica) 노드를 지정해도 된다.

  • enablePeriodicRefresh(): 지정한 시간마다 클러스터 구성 정보를 가져와서 업데이트한다.  노드가 추가/삭제되었거나, 노드 다운으로 역할 변경(마스터 -> 복제(replica)), 슬롯이 이동했을 경우 등 클러스터 구성 정보가 변경되었을 경우 최신 정보로 업데이트해야 한다.  노드가 많을 경우 너무 짧은 시간을 지정하면 refresh 부하가 발생할 수 있다.
  • redisCluster.reloadPartitions(): 수동으로 refresh할 경우 이 메서드를 사용한다.
  • setReadFrom(ReadFrom.SLAVE): 이렇게 설정하면 get 같은 조회 명령은 복제(replica) 노드에서 실행된다.  마스터/복제(replica)간 부하 분산(Load-Balancing)을 할 수 있다.
  • autoReconnect(): ConnectionWatchdog이 노드 다운을 감지하면 연결을 시도한다. Default는 true이다. enablePeriodicRefresh()와 중복되는 경향이 있다.
  • RedisClusterClient로 접속했을 경우 ping, info같은 명령의 실행 노드를 지정할 수 없다.  노드를 지정하고 싶을 경우 RedisClient로 접속한다.

SET in cluster

데이터는 클러스터 내 모든 마스터 노드에 고르게 분산 저장됩니다.

MSET in cluster

Multi key command가 redis-cli에서는 안되지만 lettuce에서는 된다. 단 mset이 키 개수만큼 실행된다.

MGET in cluster

KEYS in cluster

클러스터 내 모든 마스터 노드에서 키를 조회한다.

DBSIZE in cluster

클러스터 내 모든 마스터 노드의 키의 합계를 리턴한다.

MEMORYUSAGE in cluster

키가 사용하는 메모리량을 리턴합니다. 지정한 키가 있는 노드에 접속해서 메모리 사용량을 계산합니다.

Pipeline SET in cluster

Pipeline/Async를 이용하면 속도가 빠르다.

SHUTDOWN in cluster

클러스터 내 모든 노드를 shutdown한다. True로 설정하면 RDB 파일을 저장하고 shutdown된다.



Cluster Commands

Lettuce Cluster Commands

Cluster Meet

Cluster Forget

Cluster AddSlots

Cluster DelSlots

Cluster Info

Cluster Nodes

Cluster Replicate

Cluster Slaves

Cluster Keyslot

Cluster CountKeysInSlot

Cluster GetKeysInSlot

Cluster SetSlot

Cluster Slots

Cluster Failover

Cluster Count-Failure-Reports

Cluster Reset

Cluster SaveConfig

Cluster Set-Config-Epoch

Cluster ReadOnly

Cluster ReadWrite



<< Sentinel Failover Cluster Cluster Failover >>

Email 답글이 올라오면 이메일로 알려드리겠습니다.