Joy to all! This means that the Lua scripting is now available in a stable release!
Want to use Redis as a very fast bloom filter server? A couple of short Lua scripts can make it happen. Want to do some operation which would require a lot of round-trips to Redis? Turn it into a Lua script and get rid of those network round-trips. Once you get used to having this capability, it starts to feel indespensible, an essential feature that Redis would be incomplete without.
Oh, and I guess there are a bunch of other improvements in 2.6 -- reduced memory usage, more convenient command-line options for redis-server, some handy new commands, and a lot more -- but really, the Lua scripting is so good that it outshines everything else.
A little "self" promo: evalsha.com, a F/OSS repo of public domain Lua scripts for redis scripting. Please contribute your own scripts and pull requests are accepted for the site itself.
Turns out it's kinda hard to get a decent hashing algorithm working in redis-lua-land, but I'm sure an implementation of murmurhash wouldn't be so hard if one had a few hours.
EDIT: It's worth mentioning, too, that we've been using a collection of lua scripts to manage inventory reservations at Shopify since March, and the tech has worked very well for us.
I was thinking that you could have the client pass in a couple of hash values, and then use linear combinations of them to get a bunch of independent-enough hashes. This is mathematically fine, and hash functions are a dime a dozen when you're not in redis-lua-land. Paper justifying this technique:
Honestly I barely knew about WATCH! But after reading through the docs, I don't think it would have worked in my case. I only had two keys: a list of pages to crawl, and a set of pages already crawled. WATCHing either key would have been too restrictive. Perhaps I could have approached it differently using lots of keys and GET/SET, but I like the simplicity of combining fewer keys with Redis's nice data structures.
WME-style is optimistic, so you might have to retry over and over again to succeed. Lua scripts are queued up so you will make progress in the order you get in line. (Think spin lock vs queue)
Indeed, and the next big thing I can't wait for is cluster which is coming in 3.0 I believe? Combined with the Lua support it makes possible some insanely great things.
Both Redis 2.6 and latest 2.4 patch release are ready to be monitored by Sentinel as targets of the monitoring.
Redis 2.6 includes an experimental implementation of Sentinel considered in beta stage, that will be upgraded with every new release of 2.8.
The development of Redis Sentinel continues in the unstable branch in the meantime. Basically at some point when Sentinel will be declared stable, 2.6 will ship with a stable version of Sentinel, however 2.8 may implement additional support for Sentinel features that may not be available for 2.6.
Want to use Redis as a very fast bloom filter server? A couple of short Lua scripts can make it happen. Want to do some operation which would require a lot of round-trips to Redis? Turn it into a Lua script and get rid of those network round-trips. Once you get used to having this capability, it starts to feel indespensible, an essential feature that Redis would be incomplete without.
Oh, and I guess there are a bunch of other improvements in 2.6 -- reduced memory usage, more convenient command-line options for redis-server, some handy new commands, and a lot more -- but really, the Lua scripting is so good that it outshines everything else.