redis_release3
Redis Release Notes
 
Redis Server Course
 | 
 
Redis Technical Support
 | 
 
Redis Enterprise Server
 | 
|---|
Redis 3.2.x Release Notes
Redis 3.2.12 - 2018년 6월 13일(수)         CRITICAL 필수
        
 
- 이것은 4.0.10에 발표된 EVAL 관련 보안 이슈와 몇 가지 버그를 수정해서 3.2 사용자를 위한 버전입니다.
 - EVAL 명령(Lua scripting engine) 관련 보안 이슈 수정: 자세한 내용은 4.0.10을 보세요.
 - SCAN 명령이 키를 빠뜨릴 수 있는 버그 수정
 - AOF fsync = always 관련 버그 수정: 4.0.9에 적용된 것입니다.
 
Redis 3.2.11 - 2017년 9월 21일(목)        HIGH 높음
        
 
- 종료(Shutdown)하기 전에 AOF를 flush하도록 수정했습니다.
 
Redis 3.2.10 - 2017년 7월 28일(금)        MODERATE 보통
        
 
- 필수는 아니지만 업그레이드를 권장합니다.
 - INFO server.stat_net_output_bytes 계산 오류 수정
 - SET 명령에 EX/PX 옵션을 사용했을 때 AOF에 그대로(상대적 시간)으로 기록되는 오류를 절대 시각으로 기록하도록 수정했습니다. » AOF를 기록되는 명령
 - CLIENT PAUSE 버그 수정
 - GEORADIUS 기능 추가
 - HyperLogLog 버그 수정 PFADD PFCOUNT HyperLogLog 설명
 - Redis Cluster 버그 수정
 
Redis 3.2.9 - 2017년 5월 17일(월)        LOW 낮음
        
 
- 몇 가지 작은 버그를 수정했습니다.
 
Redis 3.2.8 - 2017년 2월 12일(일)         CRITICAL 필수
        
 
- Jemalloc 4.4.0이 특정 조건에서 데드락(Deadlock)을 발생시킬 수 있어서 이전 버전(4.0)으로 되돌렸습니다. » 관련 글
 - MIGRATE: 소켓(socket) 오류 후 서버가 크레시(crash)되는 버그 수정 » 관련 글
 
Redis 3.2.7 - 2017년 1월 31일(화)        HIGH 높음
        
 
- Redis-trib.rb로 reshard시 Expire time 설정 오류로 expire time이 설정되지 않은 
키가 삭제될 수 있는 버그를 수정했습니다. 
Redis Cluster Reshard와 관련있으므로 Redis Cluster 사용자는 반드시 업그레이드하시기 바랍니다.
임시 방편으로 redis-trib.rb 소스에서 MigrateDefaultPipeline = 10을 1로 바꾸어서 사용하세요. - 보안: "Cross Protocol Scripting" 공격인 'host:'와 'post' 명령(?)이 들어오면 securityWarningCommand() 이 실행되어 서버 로그에 "# Possible SECURITY ATTACK detected. It looks like somebody is sending POST or Host: commands to Redis. This is likely due t o an attacker attempting to use Cross Protocol Scripting to compromise your Redis instance. Connection aborted." 이런 메시지를 남기고 연결을 끊는 기능을 추가했습니다. » 관련 글
 - ZipList 버그 수정: 
 LINSERT  
같이 리스트 중간에 데이터를 조작하는 명령과 관련있습니다.       
» ZipList 내부 구조 - Jemalloc을 4.0에서 4.4.0으로 업그레이드했습니다. 4.4.0은 메모리 사용과 회수(reclaim) 기능이 개선되었습니다. » Jemalloc
 
Redis 3.2.6 - 2016년 12월 6일(화)        MODERATE 보통
        
 
Redis 3.2.5 - 2016년 10월 26일(수)         LOW 낮음
        
 
- 이 릴리즈는 단지 컴파일 오류만 수정한 것입니다.
 
Redis 3.2.4 - 2016년 9월 26일(월)          CRITICAL 필수
        
 
- 보안 취약점을 수정했습니다. 자세한 내용은 여기를 보세요.
 - TCP 바인딩 버그 수정
 - Crash Report 개선
 - redis-trib.rb: 새 클러스터 생성 후 관련 정보를 보여주도록 수정
 
Redis 3.2.3 - 2016년 8월 2일(화)         MODERATE 보통
        
 
- AOF Rewrite가 진행중인 동안 복제를 위한 bgsave가 지연되는 부분 수정
 - redis-cli history 파일 관련 보안 이슈 수정
 
Redis 3.2.2 - 2016년 7월 28일(목)         MODERATE 보통
        
 
- LSET 명령 버그 수정
 - Sentinel 이 여러 마스터를 모니터링 할 때 주소(address) 업데이트 후에 Crash 될 수 있는 버그 수정
 - GEORADIUS 버그 수정
 - 클론(슬레이브)는 slave-announce-ip, slave-announce-port를 사용해서 Docker와 NAT를 지원합니다.
 - RDB check utlity가 Redis의 일부가 되었습니다.
 - CONFIG GET 명령이 대소문자를 구분하지 않도록 수정되었습니다.
 
Redis 3.2.1 - 2016년 6월 17일(금)         HIGH 높음
        
 
- Sentinel 사용자 필수 업그레이드: Sentinel 연결 공유(connection sharing/InstanceLink) 관련 버그(old master를 인식하지 못하는) 수정 -» 이 버그는 3.2.0에서 연결 공유 기능을 추가하면서 발생했습니다. 따라서 3.0.x 는 이런 버그가 발생하지 않습니다.
 - tcp-keepalive 파라미터 default 값이 0에서 300으로 변경되었습니다. 즉 TCP keep alive가 활성화된 것입니다.
 - 키 Access time만 갱신하는 TOUCH 명령 추가, 이제 TTL, TYPE 명령은 Access time을 변경하지 않습니다.
 - CONFIG SET list-max-ziplist-size 명령에서 음수를 지정할 수 없습니다. redis.conf파일에서는 가능합니다.
 - BITFIELD 버그 수정
 - GEORADIUS 명령 버그 수정
 - RESTORE 이전 버전에서 만들어진 dump을 읽을 수 있도록 수정
 - BITCOUNT: start와 end 둘 다 음수이고 start > end 이면 널을 리턴하도록 수정
 
Redis 3.2.0 - 2016년 5월 6일(금)         HIGH 높음
        
 
- 3.2의 가장 큰 변화로 List Type의 내부 저장 방식을 메모리를 많이 절약할 수 있는 Quicklist로 바꾸었다. 
관련해서 list-max-ziplist-entries, list-max-ziplist-value 파라미터가 없어지고 
list-max-ziplist-size, list-compress-depth 파라미터가 추가되었다. 
» 추가된 파라미터와 Quicklist 내부 구조는 여기를 보세요. - 보안강화를 위해서 PROTECTED-MODE 파라미터가 추가되었고 BIND 파라미터가 활성화 되었다. 디폴트 그대로 사용하면 원격접속이 되지 않으므로 BIND에 IP를 추가해야 한다. » 관련 글
 - BITFIELD 명령 추가
 - CONFIG GET AOF나 RDB를 로딩중일 때도 CONFIG GET 명령을 실행할 수 있도록 수정했습니다.
 - DEBUG 명령에 새 기능 추가
- restart: 정상적으로 서버를 종료하고 재시작한다.
 - crash-and-recover: 비정상적으로 서버를 죽이고 재시작한다.
 - lua-always-replicate-commands: 활성화/비활성화한다.
 - structsize: 레디스 핵심 C 구조체 길이(바이트)를 보여준다.
 - htstats: 데이터베이스 키 통계정보를 보여준다.
 - jemalloc info: 메모리 할당 통계정보를 보여준다.
 - jemalloc purge: 사용하지 않는 메모리를 해제한다.
 - help: 도움말을 보여준다.
 
 - Redis-cli: 명령을 입력하면 옵션을 보여주는 기능이 추가되었다.
 - GEORADIUS 명령에 STORE, STOREDIST 옵션 추가
 - 
CLUSTER SLOTS 명령의 출력에 노드 ID를 추가했습니다. 
프로그램 내에서는 Cluster Nodes 보다 Cluster Slots API를 사용하세요. Cluster Nodes는 향후 출력 내용이 자주 변경될 수 있습니다. - Nanosecond 변환 오류 수정: 1 microsecond = 10000(10e3) -» 1000(1e3) nanoseconds
 - Redis-cli 종료 시 Command history file을 지우지 않고 그대로 두어 다음 연결 때 사용할 수 있도록 수정했습니다.
 - redis-trib.rb 버그 수정
 - INFO commandstats 수정: GEOADD 명령을 실행하면 내부적으로 ZADD가 실행되어 commandstats 리포트에 ZADD가 표시되었던 것을 GEOADD가 표시되도록 수정했습니다.
 - Redis Cluster 개선: 마스터 A의 모든 슬롯을 마스터 B에게 보내면 A의 클론(슬레이브) C는 B의 클론으로 변경된다. 
여기서 B에게 주었던 슬롯을 A가 다시 가져오면 클론 C는 원래대로 A의 클론이 된다. 
» 관련 글 - 초기 상태
Master 6001 (Slots 0-5460) -> Slave 6004
Master 6002 (Slots 5461-10922) -> Slave 6005
Master 6003 (Slots 10923-16383) -> Slave 6006 - Step 1: Master 6001의 모든 슬롯을 6002로 보냄(reshard) -> 6004가 6002의 슬레이브가 됨 
Master 6001 -> No slaves
Master 6002 (Slots 0-10922) -> Slave 6005
-> Slave 6004
Master 6003 (Slots 10923-16383) -> Slave 6006 - Step 2: 수정 전 6002의 슬롯을 원래대로 6001에게 보냄 -> 슬레이브 6004는 그대로 6002의 슬레이브로 남아 있음. 
Master 6001 (Slots 0-5460) -> No slaves
Master 6002 (Slots 5461-10922) -> Slave 6005
-> Slave 6004
Master 6003 (Slots 10923-16383) -> Slave 6006 - Step 2: 수정 후 6002의 슬롯을 원래대로 6001에게 보냄 -> 슬레이브 6004가 6001의 슬레이브로 변경됨. 
Master 6001 (Slots 0-5460) -> Slave 6004
Master 6002 (Slots 5461-10922) -> Slave 6005
Master 6003 (Slots 10923-16383) -> Slave 6006 - 만약 Step 1에서 슬레이브 6005가 다운되어 6002의 슬레이브가 6004 하나만 있는 상태이면 6002의 슬롯 일부를 6001로 보내(reshard)도 6004는 6002의 슬레이브로 남아있다.
 
Redis 3.2.0-RC3 - 2016년 1월 28일(목) MODERATE 보통
- INFO avg_ttl 개선
 - Sentinel 개선
 - Redis Cluster: Cluster Bus를 통한 address 업데이트가 개선되어 불필요한 핸드쉐이크가 발생하지 않도록 수정되었습니다.
 
Redis 3.2.0-RC2 - 2016년 1월 25일(월) MODERATE 보통
- MIGRATE: 멀키 관련 버그 수정
 - Redis Cluster 버그 수정
 - redis-trib.rb 기능 개선
 - PROTECTED-MODE: 보안 관련 기능 추가
 
Redis 3.2.0-RC1 - 2015년 12월 23일(수)
- List Type의 내부 저장 방식을 새로운 Quicklist로 바꾸었다. 압축기능이 있어서 메모리를 많이 절약할 수 있고 RDB 파일 사이즈도 줄어들었다. 그리고 큰 List key의 노드간 이동(migrate)도 빨라졌다. » Quicklist 내부 구조
 - 지리적 인덱싱을 지원하기 위한 새 명령들 추가: GEOADD, GEODIST, GEOHASH, GEOPOS, GEORADIUS, GEORADIUSBYMEMBER
 - Lua debugger » 설명 동영상 by Salvatore
 - 문자열 처리를 위한 내부 문자열 데이터 구조 SDS(Simple Dynamic Strings) 개선
 - 클론(슬레이브) 노드에서 만료된(expired) 키에 대한 처리 개선
 - SPOP count 옵션 추가
 - RDB 파일 포멧 변경: 생성일자, 버전 등을 추가
 - HSTRLEN 명령 추가
 - CLIENT REPLY 명령 추가
 - CLUSTER NODES 명령 속도 개선
 - CLIENT KILL TYPE MASTER 옵션 추가
 - Jemalloc 4.0.3으로 업데이트
 - Crash report 개선
 - Pipelined MIGRATE 명령으로 10배 빨라졌다.
 - Sentinel 연결 공유(connection sharing/InstanceLink) 기능 추가: 모니터하는 노드들에 대한 정보를 공유하므로써 내부적으로 관리부담이 줄어들었다.
 - SENTINEL INFO-CACHE 명령 추가
 - redis.conf 파일에서 BIND 파라미터 활성화
 
Redis 3.0.x Release Notes
Redis 3.0.7 - 2016년 1월 25일(월)         MODERATE 보통
        
 
- 중요한 Cluster 버그를 수정했으므로 Cluster 사용자는 업그레이드하세요.
 - MIGRATE multiple keys 관련 버그 수정
 - Redis Cluster node crash 버그 수정: node->slaveof 포인터 처리 오류
 - Redis-trib rebalance weight 관련 수정
 - Redis-trib fix 명령을 지원하기 위해 CLUSTER BUMPEPOCH 명령 추가
 - 너무 깊은 중첩된 객체를 프린트할 때 Lua 디버거 crash 관련 수정
 - Redis-cli에서 SCRIPT DEBUG 명령을 사용하여 디버깅 모드로 전환할 수 있습니다.
 - PROTECTED-MODE 구현: 아직 redis.conf에 protected-mode 파라미터 추가되어 있지는 않다.
 
Redis 3.0.6 - 2015년 12월 18일(금)         MODERATE 보통
        
 
- Cluster에 중요한 개선을 했으므로 Cluster 사용자는 업그레이드하세요.
 - Lua 보안 이슈 수정
 - [FIX] Redis Cluster Fail/Migrate 관련 부분 수정 자세한 내용은 이슈 #2924를 참조하세요.
 - processCommand() 경쟁 상태(race condition) 수정 자세한 내용은 이슈 #2948 참조하세요.
 - MIGRATE multiple-keys pipelined mode 지원: 이 모드는 Redis Cluster에서 Reshard와 Rebalancing에 이용됩니다.
 - Redis-trib rebalance 기능 추가
 - Redis-trib.rb info 명령 추가
 
Redis 3.0.5 - 2015년 10월 15일(목)         MODERATE 보통
        
 
- MOVE 명령이 TTL(만료 시간) 정보도 같이 이동하도록 수정
 - Redis-cli --pipe mode 버그 수정
 - Redis-trib fix 수정
 - Redis-trib import --copy 와 --replace option 추가
 
Redis 3.0.4 - 2015년 9월 8일(화)         HIGH 높음
        
 
- 부분 동기화(PSYNC)와 Diskless 복제 버그 수정
 - 복제 불일치 버그 수정 자세한 내용은 이슈 #2694를 참조하세요.
 - Redis-cli --scan 관련 버그 수정
 - Sentinel 관련 버그 수정 자세한 내용은 여기를 참조하세요.
 
Redis 3.0.3 - 2015년 7월 17일(금)         LOW 낮음
        
 
- 클라이언트가 수천개일 때 BLPOP 같은 blocking 명령 관련 버그 수정
 - MIGRATE "creating socket: Invalid argument" 버그 수정 이슈 #2609 이슈 #2612
 - ZADD 버그 수정
 - CONFIG RESETSTATS 명령에서 aof_delayed_fsync를 reset 하도록 수정
 - PFCOUNT 버그 수정
 
Redis 3.0.2 - 2015년 6월 4일(목)         HIGH 높음
        
 
- 주요 보안 문제 수정 » 관련 자료
 - ZADD 명령에 NX, XX, CH, INCR 옵션 추가
 - SENITNEL CKQUORUM, FLUSHCONFIG 수정
 
Redis 3.0.1 - 2015년 5월 5일(화)         MODERATE 보통
        
 
- SENTINEL 메모리 누수 수정(hiredis 수정)
 - Lua 출력 버퍼 관련 수정
 
Redis 3.0.0 - 2015년 5월 1일(금)           3.0의 새로운 기능들     
 
- Redis 3.0의 가장 큰 변화는 Redis Cluster 도입입니다.
 - "Embedded string" 도입으로 CPU Cache miss가 줄어들어 특정 조건에서 속도가 크게 향상되었습니다.
 - AOF Rewrite 에서 "마지막 쓰기"의 양을 줄여서 대기 시간을 최소화했습니다.
 - 키 퇴출 LRU 알고리즘을 크게 개선했습니다.
 - WAIT 명령 추가
 - MIGRATE COPY, REPLACE 옵션 추가했고, Connection caching를 이용해서 키 마이그레이션 속도 향상
 - CLIENT PAUSE 명령 추가
 - BITCOUNT 성능 향상
 - CONFIG SET 단위 허용
 - INCR 성능 향상
 - Log 포멧 약간 변경
 - Diskless Replication 수정
 
Redis 3.0.0-RC6(2.9.106) - 2015년 3월 24일(화)
- Blocking operation 관련된 복제 버그 수정 자세한 내용은 이슈 #2473를 참조하세요.
 - Redis Cluster
 - Redis Cluster 수동 장애 초치 관련 버그 수정
 - Redis Cluster에서 Lua 스크립트 복제 버그 수정
 - CLUSTER FAILOVER 명령에 TAKEOVER 옵션 추가
 
Redis 3.0.0-RC5(2.9.105) - 2015년 3월 20일(금)
- LATENCY 명령 버그 수정
 - CONFIG SET activerehashing 지원
 - Redis-cli --latency-dist 수정
 - MIGRATE에서 중복 select 수정
 - Redis Cluster
 - CLUSTER REPLICATE 개선
 - Redis Cluster 버그 수정
 - CLUSTER MYID 명령 추가
 
Redis 3.0.0-RC4(2.9.104) - 2015년 2월 13일(금)
- LRU 퇴출(eviction) 관련 수정
 - Redis-cli CSV output NIL 관련 수정
 - 키 rehashing 
동안 LRU eviction이 발생했을 때 응답시간이 늦어지는 버그 수정
이 버그는 2.8에서는 발생하지 않고 3.0에서 LRU 알고리즘을 수정하면서 생긴것입니다. - Redis-cli --latency-dist 기능 추가
 - Redis-cli --lru-test 기능 추가
 - Redis-cli --stat기능 추가: Redis 서버가 데이터를 loading할 때 'child' 항목에 'LOAD'로 보여준다.
 - CONFIG SET 단위 지원
 
Redis 3.0.0-RC3(2.9.103) - 2015년 1월 30일(금)
- AOF: Child process가 pipe를 통해 Parent process에게 다을 수 없을 때 발생하는 문제(segfaults) 수정
 - Lua 스크립트 엔진 관련 수정
 - Redis Cluster
 - 내부 노드 처리 관련 수정
 - 메모리 누수, 이중 해제(free)관련 버그 수정
 - /dev/urandom 보다 가벼운 unique ID 생성 방법 적용
 - 장애 감지 및 클러스터 정보 전파 속도 향상(개선)
 - CLUSTER count-failure-reports 명령 추가
 
Redis 3.0.0-RC2(2.9.102) - 2015년 1월 13일(화)
- Diskless replication backport
 - Lua backport
 - Transparent Huge Pages 경고 추가
 - PUBLISH cluster bus message count field 수정
 
Redis 3.0.0-RC1(2.9.101) - 2014년 10월 9일(목) 
        
 
- Foreground Redis Server에 Ctrl-C를 했을 때 정상적으로 SHUTDOWN 되도록 수정, 기타 여러가지 작은 수정 자세한 내용은 이슈 #1906을 참조하세요.
 - SAVE 명령이 AOF나 클론(슬레이브)로 전송되지 않도록 수정
 - Redis-check-aof utility를 실행하지 않고 잘렸으나(truncated) 손상되지 않은(not corrupted) AOF 파일을 load 할 수 있도록 redis.conf에 aof-load-truncated 파라미터 추가, 디폴트 값 yes
 - DEBUG POPULATE 옵션 추가
 - INCR 개선
 - Redis Cluster
 - Minority 파트 감지(detect) 로직 개선
 - 베타(beta) 버전에서 안정적(stable)인 버전으로 승격했습니다.
 - Pub/Sub 추가
 - Sentinel
 - 메모리 누수(leak)와 치명적인 버그 수정
 - NAT(Network Address Translation) 네트워크 환경에서 사용할 수 있도록 sentinel.conf에 sentinel announce-ip , sentinel announce-port 파라미터를 추가했다.
 
Redis 3.0.0-Beta 8(2.9.57) - 2014년 7월 29일(화)
- Solaris 컴파일 이슈 수정
 - Maxmemory 정책이 LRU 기반이 아닌 경우 정수 객체 공유를 허용합니다.
 - Latency 명령 개선
 - AOF rewrite 개선
 - ZUNIONSTORE 속도 개선
 - 빠른 ll2string() 구현(Util.c) » 관련 자료
 - CLUSTER RESET 명령 추가
 - Redis-trib reshard를 비 대화식(non-interactive way)을 할 수 있도록 했다.
 
Redis 3.0.0-Beta 7(2.9.56) - 2014년 6월 30일(월)
- COMMAND 명령 추가
 - Jemalloc 3.6.0 적용
 - CLUSTER NODES: 노드 주소를 업데이트 할 때 NOADDR 플래그를 지우도록 수정
 - CLUSTER SLOTS: 클러스터 클라이언트가 클러스터 정보를 얻는 API, CLUSTER NODES의 출력은 향후 변경될 수 있으므로 CLUSTER SLOTS을 사용하세요.
 - SENTINEL: 몇 가지 버그가 수정, 개선되었고 ROLE 명령이 추가되었습니다.
 - 초기 AOF가 쓰여지고 있다면 SHUTDOWN이 최소되도록 수정
 
Redis 3.0.0-Beta 6(2.9.55) - 2014년 6월 9일(월)
- Software watchdog 버그 수정
 - Lua 스크립트 개선
 - Redis.conf에 있는 min-slaves-* 파라미터 관련 심각한 버그 수정
 - Beta 3에 도입된 CLUSTER SET-CONFIG-EPOCH 심각한 버그 수정
 
Redis 3.0.0-Beta 5(2.9.54) - 2014년 5월 26일(월)
- Redis Cluster 관련 2 가지 버그 수정
 
Redis 3.0.0-Beta 4(2.9.53) - 2014년 5월 23일(금)
- Lua 스크립트 엔진 성능 개선
 - 현재(current) 노드의 역할을 표시하기 위해 로그 포멧을 약간 변경했다.
 - HyperLogLog cache flag 불필요한 계산 부분 수정
 - Redis Cluster
 - Redis-trib Import 기능 추가: 독립형(standalone) Redis 인스턴스에서 데이터를 Cluster 노드로 가져오는 기능
 - Redis-trib Fix 기능 추가: 오픈된(migrating/importing 예약되어있고 처리되지 않은) 슬롯을 수정
 - CLUSTER FAILOVER FORCE 구현
 - CLUSTER RESET 구현
 - CLUSTER MEET 유효하지 않은 주소(ip port)에 대한 오류 메시지 개선
 - cluster-slave-validity-factor 파라미터 추가, Config Set으로 변경 가능
 - 대량 클러스터 노드를 수략(accept)할 수 있도록 개선
 - 수동 장애조치(manual failover) 시에는 마스터와 클론(슬레이브)간 연결 단절 시간(data_age)을 체크하지 않도록 수정, 자동 장애조치 시에는 일정 시간 이상 단절된 클론은 후보에서 제외된다.
 - Sentinel
 - 옵저버(observer) 서버가 다른 센티널로 부터 새 마스터 정보를 받는 이벤트(+config-update-from)를 추가했고 로그를 남기도록 수정
 - 장애조치가 다시 시작되면 로그를 남기도록 수정 » 장애조치와 리더 선출 관련 정보
 - Sentinel.conf 에 working directory 파라미터 추가 "dir /tmp"
 
Redis 3.0.0-Beta 3(2.9.52) - 2014년 5월 5일(월)
- HyperLogLog: 새 Data Structure
 - LRU 알고리즘(algorithm)의 정확도가 크게 향상되었다.
 - Redis Cluster
 - CLUSTER SET-CONFIG-EPOCH 명령 추가, 클러스터 생성 시 새 epoch을 다른 노드에 빠르게 할당하기 위해서 구현
 - CLUSTER NODES 출력 오류 수정
 - Sentinel
 - Redis 인스턴스를 통하지 않고, Sentinel 인스턴스간 메시지를 보낼 수 있도록 수정
 - 중요 상태 정보를 디스크에 저장하기 때문에 Crash-Recovery 상황에서도 안전하도록 수정
 - CLIENT SETNAME을 사용해서 Redis 서버에 접속한 센티널 클라이언트 이름을 설정하도록 했다. 따라서 다른 클라이언트들이 CLIENT LIST 명령으로 센티널 클라이언트를 확인할 수 있다.
 - 실패 감지(failure detection) 개선
 
Redis 3.0.0-Beta 2(2.9.51) - 2014년 3월 11일(화)
- 복제(replication) 중 링크가 끊기는 버그 수정, 이 버그로 불필요한 재 동기화가 발생하거나 무한 루프가 발생할 수 있었습니다.
 - AOF appendfsync 가 'everysec'나 'no'인 상태에서 AOF fsync 에러( 예, 디스크 공간이 없을 경우)가 발생해도 Redis 서버는 다운되지 않고 계속 실행되도록 수정했다. 단 데이터베이스는 write 명령을 수행할 수 없는 read-only 모드로 변경된다. 디스크 문제가 해결되어 다시 AOF fsync를 할 수 있으면 데이터베이스도 write 모드로 변경된다.
 - Config file Path 오류 수정, 이 버그는 redis.conf 파일안에 'dir' 파라미터가 있을 경우에 발생했습니다.
 - Redis-cli: SYNC, PSYNC를 호출하면 자동으로 슬레이브 모드(--slave mode)로 전환되도록 수정
 - BITCOUNT CPU 아키텍처 관련 개선
 - EVALSHA 스크립트 캐시 버그를 수정했습니다. 특정 조건에서 실행 된 스크립트가 AOF/슬레이브로 올바르게 전파되지 않을 수 있었습니다. 자세한 내용은 이슈 #1549를 참조하세요.
 - MONITOR 모드에서 SLOWLOG 시간 계산 버그 수정
 - Redis-cli --bigkeys 구현에 RANDOMKEY 대신 SCAN을 사용하도록 수정했고 Pipelining 사용하도록 해서 훨신 빨라졌습니다.
 - Redis-cli --intrinsic-latency mode 구현: kernel/hypervisor로 인한 시스템 대기 시간을 측정할 수 있다.
 - CONFIG REWRITE를 실행하면 로그를 남기도록 수정
 - Redis Cluster
 - 클러스터 노드가 redis.conf bind 파라미터 IP를 사용하도록 수정
 - 'Importing' 슬롯을 CLUSTER SETSLOT NODE 명령으로 확정하면 특별한 경우 configEpoch을 0으로 증가시키도록 수정
 - Cluster Bus 포트는 항상 base port + 10000을 사용하므로 해당 포트를 반드시 오픈해야 한다.
 - ZUNIONSTORE, ZINTERSTORE, SORT: 키 추출 알고리즘 수정
 - CLUSTER-NODE-TIMEOUT 시간이 매우 적을 때(수 밀리초)도 장애 조치가 안정적으로 실행되도록 개선
 - 클러스터 노드에서는 SORT 명령의 BY/GET 옵션을 사용하지 못하도록 수정
 - 마스터에서 클론 노드로 역할이 바뀔 때 'importing'/'migrating' 상태를 초기화하도록 수정
 - 지정한 키들이 모두 같은 슬롯안에 있을 때 멀티 키 오퍼레이션을 허용
 - Redis-trib call 명령 추가
 - Sentinel
 - Sentinel event 추가: SENTINEL MONITOR/REMOVE +/-monitor, SENTINEL SET +set
 - SHUTDOWN 명령 도입
 - "IDONTKNOW" 에러 메시지 삭제
 
Redis 3.0.0-Beta 1(2.9.50) - 2014년 2월 11일(화)
- 이전 버전인 2.8에서 3.0이 되면서 바뀐 점
 - 로그 포멧 변경: 각 라인 앞에 들어가는 PID 형식이 '[pid]' 에서 'pid:?'로 변경되었습니다.
pid: process id
?: M -> Master, S -> Slave, C -> Child process(C로 표시될 때는 pid도 변경됨), X -> Sentinel - maxmemory-policy 파라미터의 기본값이 'volatile-lru' 에서 'noeviction'으로 변경되었습니다.
 - 2014년 2월 11일(화) Beta 1 부터 시작된 업그레이드 작업은 15번의 업데이트 끝에 15개월 후인 2015년 5월 1일(금)에 정식 3.0이 나왔습니다. 가장 큰 변화는 Redis Cluster 구현입니다.
 
| << Release Notes 4 | Release Notes 3 | Release Notes 2 >> | 
|---|
조회수 :
	Email
	
	
	답글이 올라오면 이메일로 알려드리겠습니다.
	
 
