9 ms·
Redis 3.0.0 is out
- yankoff 12y agoI just hope it's not an April's fool joke
- ihsw 12y agoCoincidentally, the HyperLogLog redis type was introduced on April Fools last year. http://antirez.com/news/75 http://antirez.com/news/75
- beat 12y agoYeah, clustered Redis, announced today? Sounds like a joke to me!
- antirez 12y agoNot a joke, the release was due in these days, so I picked 1 April since we have a tradition now to ship 1 April. Last year with HyperLogLog support, because of the futuristic name of the data structure, people had an hard time to believe it was a really thing and not a joke.
- alanh 12y agoI understand your reasons and nevertheless hope that you can realize that you are still contributing to April Fool's insanity by making it that much harder for people to tell what is serious and what isn't on this day of disregard. You’re totally within your rights here. I just beg you to consider the audience.
- antirez 12y agoYep this can lead to some confusion, but the magic of OSS software is that you can download it and check :-)
- zymhan 12y agoWon't someone please think of the childr...er, developers!
- beat 12y agoAfter many years of DevOps and configuration management, I've learned to think of developers as children...
- agonzalezro 12y agoThe author wrote this on twitter: https://twitter.com/antirez/status/583279481453936640 https://twitter.com/antirez/status/583279481453936640 "p.s. no April fools here. 1 year ago I released HyperLogLog, today 3.0.0, just to contrast with some shit done this April fool lameness."
- timdorr 12y agoFrom the release notes: https://raw.githubusercontent.com/antirez/redis/3.0/00-RELEASENOTES https://raw.githubusercontent.com/antirez/redis/3.0/00-RELEA... * Redis Cluster: a distributed implementation of a subset of Redis. * New "embedded string" object encoding resulting in less cache misses. Big speed gain under certain work loads. * AOF child -> parent final data transmission to minimize latency due to "last write" during AOF rewrites. * Much improved LRU approximation algorithm for keys eviction. * WAIT command to block waiting for a write to be transmitted to the specified number of slaves. * MIGRATE connection caching. Much faster keys migraitons. * MIGARTE new options COPY and REPLACE. * CLIENT PAUSE command: stop processing client requests for a specified amount of time. * BITCOUNT performance improvements. * CONFIG SET accepts memory values in different units (for example you can use "CONFIG SET maxmemory 1gb"). * Redis log format slightly changed reporting in each line the role of the instance (master/slave) or if it's a saving child log. * INCR performance improvements.
- vasquque 12y agoYou fogot: WARNING: Redis 3.0 is currently a BETA not suitable for production environments.
- agonzalezro 12y agoFor lazy readers: CLUSTERING!
- deleted 12y ago[deleted]
- xofer 12y agoMaybe it works great from day one, maybe it will need a few more iterations, and possibly with 3.2 we'll improve support for many stuff, but my guess is that Redis 3.0.0 today, in some way, changes what Redis is.
- agonzalezro 12y agoIt's software. Everybody knows how it works :)
- andrewstuart2 12y agoNoooo, apologies for the downvote. That "up" button is tiny and apparently easy to miss.
- buster 12y agoWhy not just linking to the google groups post or the release notes?
- JonnieCache 12y agoHere's the full cluster spec: http://redis.io/topics/cluster-spec http://redis.io/topics/cluster-spec Looking forward to seeing it taken apart by aphyr. Congrats to Salvatore and the rest of the redis committers!
- poooogles 12y agoIs he still doing Jepsen tests? Thought he was doing Clojure work atm?
- steveklabnik 12y agoYes, he is not doing Jepsen at the moment. The end of his last blog post on it has some explanation. That said, I wouldn't wonder if he'd make an exception, given that it's Redis...
- necubi 12y agoHe's been tweeting about Jepsen tests on Aerospike lately: https://twitter.com/aphyr/status/582653874894282752 https://twitter.com/aphyr/status/582653874894282752.
- chupy 12y agoWe are considering Aerospike because apparently a lot of our competitors are using it and I really would love to see those tests.
- JonnieCache 12y agoPretty sure I saw him tweeting about jepsen the other day
- sylvinus 12y agoThen you might want to see both of them on the same stage in June :) http://www.dotscale.io/ http://www.dotscale.io/
- martin1985 12y agoWhat is the best alternative for redis?
- JonnieCache 12y agoThere isn't really one. Memcached fulfills a subset of its simplest use cases.
- thedufer 12y agoThat would depend pretty strongly on what about redis isn't working for you.
- antirez 12y agoDepends on the use case, but basically, there is a big set of problems you can solve with different technologies depending on your exact details, one will be better in one way, one will be better in some other way. The sensibility of the programmer is to pick the right one, in an effort to maximize the different aspects: data model fitness for the problem at hand, operational aspects, consistency guarantees, performances (number of nodes needed), scalability, simplicity (do I need support since it's a complex stuff?), and so forth.
- espeed 12y agoLook at HyperDex http://hyperdex.org/ http://hyperdex.org/
- hydrogen18 12y agoLast time I looked into HyperDex it requires proprietary extensions to get access to all of its features.
- misframer 12y agoThat would be Warp[0], which adds ACID transactions across multiple keys. [0] http://hyperdex.org/solutions/ http://hyperdex.org/solutions/
- 12y ago
- jessaustin 12y agohttp://redis.io/download http://redis.io/download
- lamby 12y ago(Or Debian unstable in an hour or so...)
- gsnedders 12y ago(To note, I have limited experience with using Redis. My questions may be stupid.) As far as I can tell, most of the advantages of Redis come from the fact that it's all held in memory and so access is fast. Is networked access to other parts of the cluster quick enough that it is quicker than storing the data on one computer, partly on disk? When would one want to use a Redis cluster rather than something stored on-disk and cached in memory?
- meritt 12y agoThe primary advantage of Redis is native data types and access patterns beyond simple key-values: lists, sets, sorted sets, hash tables, pub/sub, hyperloglog, and scripting (lua) support. Being memory-based was simply a feature but not necessarily something that set it apart: Memcached had that area pretty well locked down for being a blazing fast key-value store. And then Membase was basically memcached + persistence and clustering. Now Redis has clustering too!
- siculars 12y agoseconded. memory = fast is not the point. the point is that it gives you specific data types that do specific things and since it's in memory it does those things very quickly. that said, you need to implement your own clustering or sharing solution. jury is still out on the new cluster code, i havent reviewed it yet.
- famousactress 12y agoThe performance section of the spec[1] does a pretty good job explaining how the implementation remains fast. In Redis Cluster nodes don't proxy commands to the right node in charge for a given key, but instead they redirect clients to the right nodes serving a given portion of the key space. Eventually clients obtain an up to date representation of the cluster and which node serves which subset of keys, so during normal operations clients directly contact the right nodes in order to send a given command. Because of the use of asynchronous replication, nodes does not wait for other nodes acknowledgment of writes (if not explicitly requested using the WAIT command). [1] http://redis.io/topics/cluster-spec#performance http://redis.io/topics/cluster-spec#performance
- flowerpot 12y agoDoes the cluster feature deprecate redis-sentinel?
- antirez 12y agoNo... Sentinel will still be developed alongside with Redis Cluster. For single instance deployments where all you want is HA, Sentinel may be a more obvious way to get it compared to running Redis in cluster mode. In the long term, with plenty of early warnings, we may support the current Sentinel use case with Cluster and merge the two stuff.
- flowerpot 12y agoNeat! Really looking forward to that!
- mrmondo 12y agoCame here to ask this too, Sentinels are pretty awful IMO
- bayesianhorse 12y agoApril 1st is one of the worst dates for announcements ever...
- Walkman 12y agop.s. no April fools here. 1 year ago I released HyperLogLog, today 3.0.0, just to contrast with some shit done this April fool lameness. https://twitter.com/antirez/status/583279481453936640 https://twitter.com/antirez/status/583279481453936640
- nacs 12y agoAgreed, I thought it was going to be a spoof of the MongoDB 3.0 announcement/release.. http://www.mongodb.com/blog/post/announcing-mongodb-30 http://www.mongodb.com/blog/post/announcing-mongodb-30
- xai3luGi 12y agoStill no SSL, so using redis-client still just spews your password out all over the internet.
- untog 12y agoWhy are you connecting to a Redis box across the internet? There's a great (and after Heartbleed, prophetic) post on the Varnish web site about why they don't implement SSL, I imagine Redis would be similar: https://www.varnish-cache.org/docs/trunk/phk/ssl.html https://www.varnish-cache.org/docs/trunk/phk/ssl.html
- andrewguenther 12y agoI love this post. Not every single piece of software needs to include SSL support out of the box. Sometimes, for the exact reasons Varnish explains, it just doesn't make sense.
- EugeneOZ 12y agoVarnish is other thing. For cross-datacenter replication you will want SSL. So for Redis Cluster it's a necessary thing.
- danudey 12y agoFor cross-datacenter replication you should be using a secured VPN anyway.
- EugeneOZ 12y agoNo, if your db can use SSL, then additional layer of complexity is not required. upd.: don't get me wrong, Redis is my favorite DB, really. But better to be objective.
- thedufer 12y agoIt's hard to imagine every service in your infrastructure implementing SSL would be more secure than a single VPN tool. You are very optimistic about the difficulties of getting security right.
- devy 12y agoOn https://github.com/antirez/redis/tree/3.0 https://github.com/antirez/redis/tree/3.0 branch, it shows "This branch is 1004 commits ahead, 1252 commits behind unstable".
- napsterbr 12y agoThat was a nice timing, just yesterday I hacked around asyncio-redis package to provide clustering support. Anyone interested in trying it out, or contributing, you can see the project here: https://github.com/renatomassaro/asyncio-redis-cluster https://github.com/renatomassaro/asyncio-redis-cluster Edit: as for blocking requests, redis-py-cluster is an awesome lib that provides cluster support over the traditional redis-py client.
- simon_weber 12y agoDoes anyone have more details on what the "embedded string" object encoding is and what workloads it helps with? The closest thing I can find is https://github.com/antirez/redis/issues/543 https://github.com/antirez/redis/issues/543, which seems pretty old.
- antirez 12y agoHey, it's very straightforward. Normally you have something like the redis object structure which has a type field, and a pointer to the actual representation of the object. If type is REDIS_STRING, you have the pointer to an "sds" string (where sds is the name of the string library used). Now with embedded strings there is a special kind of string objects that instead use a single allocation for both the object structure and the string itself. This is slightly more memory efficient, but especially, improves memory locality a lot, so basically everything uses string objects (string types, or aggregate data types large enough to use string objects as values of the collection), will perform better. Those special strings are used only for small strings (the majority in most work loads).
- oimaz 12y agoI really like antirez approach to building system software. Build it step-by-step, iterate and very soon you have an amazing piece of software