A Newsletter About Everything Redis

Issue #50
July 9th, 2015

# include i.h

Firstly, I’d like to apologize to my faithful reader(s?) for bailing out on you with last week’s issue – due to personal reasons (the good kind, no worries) I could not attend to my duties as usual. I hope that this longer-than-usual-but-still-top-quality issue will make up for that.

Secondly, this is both Redis Watch’s semicentennial issue as well as the 52nd week that it is being published, hence congrats^2 and thank you dear reader for not tiring easily.

Lastly, a special shout out to Josh Long @starbuxman from @SpringCentral and a big thank you for “quite” liking this newsletter – I really appreciate it to a degree (seriously dude, what is there not to like?!?)

Redis Trivia: Red should always be Redis-red #D42E15, also in CI /ht Jan-Erik @badboy_


Be social, tweet about Redis Watch: I’m reading Redis Watch #50: https://redislabs.com/redis-watch-archive/50

int main(int argc, char **argv) {

Comparing an elephant to a washing machine: Redis and SimpleDB (9 minutes to read)

Despite an hiatus to his ever-growing Node.js/Redis series, Kyle @stockholmux compares and contrasts these two vastly different solutions and ends with some useful rules of thumb (@stockholmux – also, thanks for jumping in to save the day the other day).

Redis + Node.js + Socket.IO — Event-driven, subscription-based broadcasting #NodeJS #howto

A KISS-oriented walk-through from the un-Twitterable Sachin Joglekar.

Efficient computation and storage of basic data statistics using Redis #Python #howto

On average I find such nuggets absolutely priceless because someone else, in this case the same Sachim Joglekar from the item above, did all the heavy thinking for me #YourMilageMayVarianceThough

Redis at eHarmony as a Store and Cache (5 minutes to read)

@eHarmony‘s Platform Team Principal Software Engineer Vijay Vangapandu found his match with Redis (pun expected but unavoidable, sorry) when he set out to build a low latency authentication (micro) service. The post succeeds in keeping a relatively light technical tone and still capture the use cases’s essence. The author, on the other hand, fails at keeping his subjective fondness for Redis private to himself… I and I like that 🙂 Another nice find is how to get over the pesky Jedis connection pool size limit, but that’s a different story.

Transparent Huge Pages and Alternative Memory Allocators: A Cautionary Tale (7 minutes to read)

Running out of memory and having your Redis server killed is an unpleasant ordeal, as experienced by an anonymous member of the @digitalOcean team. THP are hardly news any more and Redis even warns against it if it is enabled, but some lessons are learned the hard way – read this to avoid the same happening to you.

sandfox / node-basic-redis-factory #NodeJS #foss

Is a “module that should make creating redis client instances from connection strings much easier”, as described by the module’s author – Mad Minimum @sandfoxthat who’s also open for suggestions on his WIP.

OH Jan-Erik @badboy_ > “Use Redis-red: #D42E15” — “Please, tell me you looked it up” — “I got it tattooed to my forearm” — I may have shocked @seppo0010 right now

Evolving NoSQL Databases Without Downtime (looks like a 40 minutes to read at the very least, but maybe only because of the academia layout)

A team from the University of Maryland Computer Science Department @UMDCS had come up with a neat way of rolling out schema changes in a schemaless database with little impact on availability. In a nut shell, a process remaps the requested key names (old<->new) in flight while the database is in an Schrödinger-cat-like state.

Tynd Beta – Disque hosting for Heroku (1 minute to read)

Congratulations and bon chance are in order for one of the community’s most respected pillars, Michel Martens @soveran, on launching the first Disque-as-a-Service offering! If you’re looking for the latest in distributed queues, look no further and take this new offer for a spin – your feedback will be appreciated by the developer and the provider, I&39;m quite certain.

OH Salvatore Sanfilippo @antirez > And… after 40 commits the GEO API is part of Redis, just merged into “unstable”.

Introducing the Geo API in Redis #Redis #howto

The early bird edition, courtesy of Cristian Greco @cristiangreco.

OH Salvatore Sanfilippo @antirez > Ok now all the Geo commands are documented o/: http://redis.io/commands/georadius Usually happy to write doc, but this was too much in a few days 😉

Why my next CMS system will have an in-memory database as primary data store? (9 minutes to read)

I like this one – sensible arguments based on experience and domain knowledge in the context of a well-defined use case. Bonus points go to S Ramdas, author and CEO of Netzary InfoDynamics @netzary, for taking the next step and actually practicing what he preaches on that same blog.

saltmine / redis-gadgets #Python #foss

What is supposedly a collection of helpers is ATM just a single one that does tracking of unique things. It looks promising though, so lets hope that Keep.com @keep‘s team will keep adding goodies to it.

Introducing Disque (21:20 minutes to watch)

One way you can jump into action with Disque is by watching Salvatore Sanfilippo @antirez‘s session at the @dotScale European conference from exactly 1m+1d ago. The slides can be found at http://antirez.com/misc/DotScale2015.pdf.

stephenmcd / curiodb #Scala #Akka #foss

After a gestation period of 6 months, the brainchild of Stephen McDonald @stephen_mcd‘s curios mind comes into the light of day. It is a distributed and persistent Redis clone that does not claim to be a drop-in replacement – how curiously refreshing 🙂

Build a Real-Time Markdown Editor with Node.js #NodeJS #howto

Asif Ahmed @sifxtreme provides a solid tutorial that’s so aptly named that it makes this paragraph almost redundant had it not been for the attribution that it provides.

reborndb / qdb #Go #foss

However, this one does: “a fast, high availability, fully Redis compatible store”. QDB supports multiple types of backend storages (RockDB, LevelDB and GoLevelDB) and can sync with Redis. A project from @ngaut1 who appears to have the right experience based on his involvement with Codis and RebornDB…

RebornDB: The Next Generation Distributed Key-Value Store (~10 minutes to read)

If imitation is the sincerest form of flattery, then Redis should be feeling pretty smug. If someone (me?) was to do a headcount of all its clones/reimplements/embetterments/forks and other utensils, then I’m positive the result would require at least 11 bits to store. Perhaps even 12 bits now that @siddontang (reminder: LedisDB, xcodis) and @ngaut1 (reminder: item above) have joined forces (or perhaps they are the same person? seriously guys, what are your names?). Be the case as it may, RebornDB is made up of a proxy that clusterifies backend stores (i.e. QDB or reborn-server [yet another modified version of Redis]), uses a coordinator (zookeeper or etcd) and and provides management capabilities. Via the always-awesome High Scalability @highscal blog.

gosuri / go-store #Go #foss

Personally I find Redis dead simple and consider most abstractions distracting, but I guess some may find Redis too much for their simple KV business hence this project from Greg Osuri @kn0tch.

OH Nick Craver @Nick_Craver > #redis operations on the mobile instance before restart: 511,251,825,000 Note: reboot was for firmware patching and MTU changes only.

Moving Millions of User Sessions from MySQL to Redis (12 minutes to read)

Hootsuite Engineering @HootsuiteEng team members Anubhav Mishra @anubhavm and Luke Kysow @lkysow share their battle stories with the public. Twemproxy is used to eliminate timeouts from the PHP application to AWS’ ElastiCache that can do a failover in 60 seconds (ahm ahm, why not try Redis Cloud? :)).

Redis SPOP Culture: Censored Lua vs Atomic Transactions with Node.js and Redis #NodeJS #howto

Kyle @stockholmux had opened this block and is also closing it. In this piece, he is shocked to find that non-determinism is a Lua no no so no SPOP for you. He then goes about devising a clever, although inefficient-by-own-admission, way of doing it using MULTI/EXEC, a bunch of Set operations and temporary keys.


Redis Labs

Blog post: the 3rd part of the Redis Labs Enterprise Cluster series, Installing on AWS Cloud

Redis Academy: Redis in Action Chapter 8: Building a Simple Social Network *AND* Chapter 9: Reducing Memory Usage are online for your learning pleasure #DiscePuer

Hat Tip: we are gratified to be a part of Bleacher Report @BleacherReport‘s stack and their amazing service – read more on How to Deliver Massive Volumes of Sports Scores and News to over 12 Million Mobile Users at Bleacher Report from Han Dong @HanTwit08 at the Iron.io @getiron blog.

Hat Tip: Esther Levine @estherlevine14 included us in her post about the 6 Cloud Products to Ease Cloud Adoption – how cool is that? (I don’t know her but she shares both her names with my mother in law)

Questions? Feedback? Anything you want to share? Email or tweet me – I’m highly available 🙂


This newsletter was produced and distributed by Redis Labs, Inc.

Redis Labs, Inc. 700E El Camino Real, Suite 170, Mountain View, CA 94041

Archive | Subscribe | Follow on Twitter