9 ms·
Redis 2.8.0 stable is out
- NatW 13y agoMore-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 13y agoThe 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 13y agooh -- so you _are_ going RAFT ? You initially dismissed it as too difficult... _very_ interesting (cool) choice.
- ksec 13y agoStill Waiting for Cluster.
- antirez 13y agoEnd of year for a beta. It is already working in all its parts, there is just to improve the details, and to document it, for a better user experience. Then we release the first RC and in the first Q of 2014 make sure the RC reaches production readiness.
- untothebreach 13y agoI am grateful that you are your team are taking time to make sure the feature is production-ready, I would much rather wait for the feature to be solid than for you to release something half-done. Thanks for all you've done with Redis!
- antirez 13y agoThank you untothebreach, you are indeed completely right on not forcing the release schedule just for marketing or to stay on the edge, I'll follow your advice. The end-of-year move is just to provide a good end user experience to people willing to test the code in development environments, however before a stable release some more time will be needed, and "on the field" tests where I'll try to get Cluster working well in real world companies with non trivial Redis deployments. After this, the code will be released as production ready. Thanks!
- yuvadam 13y agoFor EOYear, will we get some more SDR love? A sequel to dump1090, perhaps? ;)
- antirez 13y agoWould love to have the time! I look at my SDR hardware near my desk and would love to hack... After Redis 3.0 release I'll take something like a few weeks of break if possible to do some random hacking...
- untothebreach 13y ago
- filipedeschamps 13y agoSCAN looks awesome!
- NatW 13y agoA description of SCAN with the MATCH option (and related commands: HSCAN, SSCAN and ZSCAN): http://antirez.com/news/63 http://antirez.com/news/63
- munimkazia 13y agoKeyspace 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 13y agoIndeed, I have been waiting for notifications upon key expiration for a while now, this looks awesome.
- mythz 13y agoRedis 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!
- antirez 13y agoThanks for the kind words mythz! And for your important role in the Redis community.
- xfax 13y agoCouldn't agree more. Redis code base is like a best-practice document.
- a-priori 13y agoI 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)
- ksec 13y agoPostgre
- bch 13y agoTcl[1], which @antirez has also held up as incredibly lucid code. [1] http://core.tcl.tk/tcl/timeline?y=ci http://core.tcl.tk/tcl/timeline?y=ci
- thijsc 13y agohaproxy probably qualifies too.
- toomuchtodo 13y agonginx
- zerop 13y agoMost 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 13y agoHello 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.
- chris_wot 13y agoI'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 :-)
- mmahemoff 13y agoMostly for the sweet spot between fast and pure-memory (e.g. Memcached) versus slower and high-integrity (e.g. MySQL). It works great for something like a page counter, where you want to write a lot, but don't care too much if you lost a few writes. I know other people use it as their primary database or, on the other end of the spectrum, as an in-memory replacement...it can be configured optimally for those settings too.
- dcope 13y agoPretty much for anything that I want to store to a database but is too costly do to write every time I update. For example, I use Redis store counters for things and then batch process them storing to Postgres.
- bbwharris 13y agoDashboards and aggregate data are a great use case for redis. Usually you have expensive calculations in these interfaces. Caching in redis is easy and really fast.
- inkel 13y agoI use it as the only database in most of the projects I've work at my company, using Ohm [1] as our ORM. Usually we don't have use cases with ad hoc queries like `name LIKE '%Smith'`, so it serves our purposes very well. When we need something like that, we integrate with something like Elasticsearch. [1] https://ohm.keyvalue.org/ https://ohm.keyvalue.org/
- daemon13 13y agoAre you sure "ohm" web site is trustworthy? I just got this SSL connection error Unable to make a secure connection to the server. This may be a problem with the server, or it may be requiring a client authentication certificate that you don't have.
- resca79 13y agoI'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
- deleted 13y ago[deleted]
- resca79 13y agoI'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
- plasma 13y agoThank you! Is there documentation related to using sentinel?