9188f158d6
Bug fixes: - Loading two or more modules exporting native data types resulted into the inability to reload the RDB file. - Crash in modules when calling from Lua scripts module commands that would block. - A Redis Cluster crash due to mis-handling of the "migrate-to" internal flag. - Other smaller fixes not worth of a release per se, but nice to add here. Redis 4.0.0 Major features - Redis modules system. Redis now allows developers to write modules that can extend the Redis functionalities and implement new data types. - Partial Replication (PSYNC) version 2. - Cache eviction improvements. Redis 4.0 implements LFU (Least Frequently Used) as a new eviction algorithm, and improves the functionality, performances and precision of the existing algorithms. - Lazy freeing of keys. Redis is now able to delete keys in the background in a different thread without blocking the server. - Mixed RDB-AOF format. If enabled the new format is used when rewriting the AOF file: the rewrite uses the more compact and faster to generate RDB format, and an AOF stream is appended to the file. - A new MEMORY command, able to perform memory analysis of different kinds: troubleshooting of memory issues (with MEMORY DOCTOR, similar to LATENCY DOCTOR), reporting of the amount of memory used by a single key, more in-depth reporting of Redis memory usage compared to what the INFO command offers. - Redis Cluster support for NAT / Docker. - 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 is now able to defragment the used memory and reclaim space incrementally while running. Smaller features - Improvements to the RDB format to support 64 bit lengths, binary sorted set scores, and more. - SWAPDB command: ability to completely and immediately (no latency) replace two Redis databases. - Improvements to `dict.c`, the Redis hash table implementation. - Security improvements mapping POST and Host: commands to QUIT in order to prevent cross protocol scripting attacks. - RPUSHX and LPUSHX now accept a variable number of elements. - Reporting of additional memory used by copy on write in the INFO output. - Serious refactoring of many core parts of Redis. Migrating from 3.2 to 4.0 - The Redis Cluster bus protocol of 4.0 is no longer compatible with Redis 3.2. - Redis Cluster CLUSTER NODES output is now slightly different. - Writable slaves do not propagate writes to their sub-slaves, so writes to writable slaves remain just local. - The RDB format changed. Redis 4.0 is still able to read 3.2 (and all the past versions) files, but not the other way around. - Certain log formats and sentences are different in Redis 4.0. - Certain INFO fields, especially related to replication, are now different. - GEODIST, GEOPOS and GEOHASH return values changed for non existing keys - The SLOWLOG command entires contain additional two fields: the client address and name. This is documented in the SLOWLOG command online documentation. |
||
---|---|---|
.. | ||
files | ||
patches | ||
DESCR | ||
distinfo | ||
Makefile | ||
PLIST |