
Redis 2.8.0 stable is out - antirez
https://groups.google.com/forum/#!msg/redis-db/37xgI268Nh8/GEz0260U5QoJ
======
mythz
Redis is one of the few examples we have of truly beautiful software: A simple
and elegant rock-solid performer that just works like water.

The updates over the years have been useful and has tastefully kept with the
true spirit of Redis - thanks for all your hard work Salvatore!

~~~
a-priori
I agree. There are a few other pieces of software I'd put in the same class...
here's two examples I can think of now:

* Varnish (the "Notes from the architect" are a great read: [https://www.varnish-cache.org/trac/wiki/ArchitectNotes](https://www.varnish-cache.org/trac/wiki/ArchitectNotes))

* QEMU (actually, pretty much anything Fabrice Bellard has touched)

~~~
cnlwsu
sqlite! (love this
[http://www.sqlite.org/testing.html](http://www.sqlite.org/testing.html))

~~~
a-priori
Great example! Wish I'd included it in my original list.

------
NatW
More-detailed 2.8.0 release notes:
[https://raw.github.com/antirez/redis/2.8/00-RELEASENOTES](https://raw.github.com/antirez/redis/2.8/00-RELEASENOTES)

~~~
antirez
The details on the Sentinel rewrite are very little as it is not strictly part
of the 2.8 release, however here is a small summary of changes:

* Gossip is used as previously to detect if an instance is down.

* The Raft algorithm leader election step is performed to get elected to perform the failover.

* The Raft epoch of the election is used as a version of the new configuration.

* New configs are always broadcasted via Pub/Sub in the master and all the known slaves. So every Sentinel is listening for configs with an epoch that is greater than the current config, to update its view of the cluster.

* Now Sentinels try to force the cluster to have the setup of the latest config in memory (but with some delay to try to receive updates). So for instance slaves replicating with a wrong ip/port are reconfigured and so forth.

* Finally Sentinels persist their state on disk at every configuration update, or every time a new slave or sentinel is added to a master, so the system model is much more reasonable. Redis instances when reconfigured are sent a "CONFIG REWRITE" as well. TLDR: process restart friendly.

In general the code is now much simpler. The state, as you understand from the
above description, is eventually consistent with a last-config-win semantics
(where last means the configuration with the greater epoch).

~~~
bch
oh -- so you _are_ going RAFT ? You initially dismissed it as too difficult...
_very_ interesting (cool) choice.

------
resca79
I'm from ruby community where people, that made a gem, often feel like
rockstar. I have known Antirez few months ago, he's a top hacker and great
person

------
zerop
Most of the new updates in recent Redis releases are related to cluster and
replication, I would like to see new commands and structure types.. I like the
SCAN and MATCH...thanks for all hard work..love Redis..

~~~
antirez
Hello zerop, it is possible that eventually the API will get more open to
improvements again. The idea at this stage is that we need more "maturity"
features before to raise the complexity of the API.

However built in support for bloom filters and range queries in sorted sets
are two random examples of things that could get implemented in the future.

------
ksec
Still Waiting for Cluster.

~~~
untothebreach
Just waiting? It is an open source project, you could always get in there and
help it get done faster. In the meantime, why post a comment like this,
ignoring all the amazing work that @antirez and the rest of the Redis team has
done, just to whine about the one feature you want that they haven't finished
yet?

~~~
ksec
"ignoring all the amazing work" "just to whine"

That is just how you put it. No where did i whine nor ignore the work the
Redis Team did. Cluster being the one features that Redis will truly take off.
As it currently isn't as popular as it should be.

~~~
lttlrck
Cluster support _is_ mentioned in TFA so your comment is, at best,
superfluous.

------
chris_wot
I'm terribly sorry in advance if this sounds dense, but what _exactly_ do you
use Redis for? I've been trying to work it out for some time... pointers to
documentation would be fine :-)

~~~
rbolkey
As a corollary, for what should I avoid using Redis?

I've heard wonderful things, but I've also heard that you can easily abuse
Redis for things that aren't appropriate.

~~~
kcorbitt
Data too large to fit in memory; anything that you're going to want to query
relationally (as opposed to just key/value) in the future.

~~~
sitkack
Not entirely true. Redis sets are quite powerful.

------
munimkazia
Keyspace change Notifications will be super useful. Sounds like a very
promising feature. Also glad that they are working on Sentinel, I hope they
release a stable version of that soon.

~~~
untothebreach
Indeed, I have been waiting for notifications upon key expiration for a while
now, this looks awesome.

------
plasma
Thank you! Is there documentation related to using sentinel?

------
filipedeschamps
SCAN looks awesome!

~~~
NatW
A description of SCAN with the MATCH option (and related commands: HSCAN,
SSCAN and ZSCAN): [http://antirez.com/news/63](http://antirez.com/news/63)

