igooo

Redis 4.0 Major features 정리


* Redis modules system.

Redis 기능과 새로운 data type을 확장할 수있는 모듈을 작성할 수 있게되었다. 모듈 API는 Redis core와 모듈 구현을 분리하는 완벽한 추상화 레이어를 구현하여 Redis 수정없이 다른 버전의 Redis에서 동일한 모듈을 로드 할 수 있다. 자세한 모듈 문서는 아래 링크를 참고하라.

https://github.com/antirez/redis/blob/unstable/src/modules/INTRO.md


* Partial Replication (PSYNC) version 2.
과거에 master와 slave가 부분적으로 재동가화가 불가능 했었지만 replication protocol의 향상으로 부분적으로 재동기화가 가능해 졌다. (이저 버전과 호환되는 방식으로 4.0은 계속 동작 가능하다) failover와 slave 인스턴스 재시작으로 master가 변경된 이후. 새 master가 이전 master 인스턴스의 slave인 경우 master가 slave로 전환된 master 조차 일반적으로 새로운master와 부분적으로 다시 동기화 가능하다. 체인 연결된 slave의(sub-slave) 복제 작업이 매우 다르고, 각 slave는 top-level master로부터 같은 replication stream을 받는 것을 보장한다.


* Cache eviction improvements.

Redis 4.0은 새로운 eviction 알고리즘으로 LFU(Least Frequently Used)를 구현하고, 기존 알고리즘의 기능 성능, 정밀도를 향상 시켰다. 아래 블로그에 변경사항에 대한 정보가 있다.

http://antirez.com/news/109


* Lazy freeing of keys.

이제 Redis는 키를 삭제할 때 다른 thread를 사용하여 서버 blocking 없이 백그라운드에서 키를 삭제 할 수 있다. 새로운 'UNLINK` 명령어는 'DEL'과 동일하지만 비 차단 방식으로 작동한다. 비슷하게 'ASYNC` 옵션이 FLUSHALL과 FLUSHDB에 추가되어 전체 데이터 셋이나 단일 데이터베이스가 비동기 적으로 해제 할 수 있다.

* Mixed RDB-AOF format.

이 옵션을 활성화 하면 AOF파일을 다시 쓸때 새로운 format을 사용한다. 다시 쓰기는 RDB 포멧 생성보다 더 작고 빠르게 만들고, AOF 스트림이 파일에 추가된다. AOF persistence를 사용할 때 더 빠르게 다시 쓰고 로드가 가능하다.


* A new MEMORY command,

메모리 분석을 수행할 수 있다. 메모리 이슈 troubleshooting(with MEMORY DOCTOR, similar to LATENCY DOCTOR), single key 메모리 사용량, INFO 명령에서 제공하는 정보보다 자세한 Redis 메모리 사용량을 reporting 해준다.

* Redis Cluster support for NAT / Docker.

클러스터 인스턴스가 IP주소, 클라이언트와 bus port, cluter의 나머지 인스턴스에 자동 IP감지를 위해 알려주는 기능이 있다. bus protocol 변경을 위해서 Redis 3.2 전체 노드를 대량으로 재시작이 필요하다.

* Redis uses now less memory in order to store the same amount of data. The gain depends a lot on the kind of dataset stored.

Redis는 동일한 양의 데이터를 저장하기 위해 더 적은 메모리를 사용한다. 저장된 데이터셋의 종류에 의존적이다.


* Redis is now able to defragment the used memory and reclaim space incrementally

Redis는 이제 사용된 메모리를 조각 모음하고, 메모리 공간을 점진적으로 교정할 수 있다.

while running. See the example `redis.conf` for more information.



참고 : https://raw.githubusercontent.com/antirez/redis/4.0/00-RELEASENOTES


'dev > redis' 카테고리의 다른 글

JedisSentinelPool 사용기 Jedis + sentinel..  (0) 2013.11.28
redis sentinel High Availability  (0) 2013.11.26