redis-rb v5.0.0 Release Notes
-
- Eagerly and strictly cast Integer and Float parameters.
- ๐ Allow to call
subscribe
,unsubscribe
,psubscribe
andpunsubscribe
from a subscribed client. See #1131. - ๐ Use
MD5
for hashing server nodes inRedis::Distributed
. This should improve keys distribution among servers. See #1089. - ๐ Changed
sadd
andsrem
to now always return an Integer. - โ Added
sadd?
andsrem?
which always return a Boolean. - โ Added support for
IDLE
paramter inxpending
. - ๐ Cluster support has been moved to a
redis-clustering
companion gem. select
no longer record the current database. If the client has to reconnect afterselect
was used, it will reconnect to the original database.- ๐ Better support Float timeout in blocking commands. See #977.
Redis.new
will now raise an error if provided unknown options.- โ Removed positional timeout in blocking commands (
BLPOP
, etc). Timeout now must be passed as an option:r.blpop("key", timeout: 2.5)
- โ Removed
logger
option. - Removed
reconnect_delay_max
andreconnect_delay
, you can pass precise sleep durations toreconnect_attempts
instead. - ๐ Require Ruby 2.5+.
- โ Removed the deprecated
queue
andcommit
methods. Usepipelined
instead. - โ Removed the deprecated
Redis::Future#==
. - โ Removed the deprecated
pipelined
andmulti
signature. Commands now MUST be called on the block argument, not the original redis instance. - โ Removed
Redis.current
. You shouldn't assume there is a single global Redis connection, use a connection pool instead, and libaries using Redis should accept a Redis instance (or connection pool) as a config. E.g.MyLibrary.redis = Redis.new(...)
. - โ Removed the
synchrony
driver. - Removed
Redis.exists_returns_integer
, it's now always enabled.