December 3rd, 2015 – Edition #58

A Newsletter About Everything Redis

Edition #58
December 3rd, 2015

# include team.h

Major Announcement

Today, Redis Watch is taking the next and only obvious step in its evolution and, as of this issue edition, Redis Watch is the de-facto the only open source newsletter about Everything and Anything Redis. Are we crazy to open up everything like that? Perhaps. Will we increase the goodness in the world? Most probably. Therefore:

  1. The newsletter’s repository is at https://github.com/Redis/redis-watch
  2. The newsletter’s online archive will still be maintained at /redis-watch-archive
  3. To distinguish between issues and issues, issues will be referred to as editions whereas issues will remain issues (newsletter’s and repository’s, respectively).
  4. An effort will be made to port all 57 existing editions to the repository.
  5. Ideas, submits, code contributions, feedback and general good will are always welcome.

Also, since Redis Watch is all about the community, by the community and for the community and because there’s no I in Team, we will refrain from using the singular first person pronouns “I” and “me” in this inaugural #oss edition.

Cheers,
We.

Redis Trivia: Redis’ clients page has 146 entries in 46 different programming languages: http://redis.io/clients

Be social, tweet about Redis Watch: I’m reading the #oss Redis Watch #58: /redis-watch-archive/58 #Sonice

Virtual Moka Pot

Since time immemorial within the Redis community, a Moka Pot is considered a token of appreciation to a member for her/his contributions. I’d like to present this one to Didier Spezia @didier_06, who’s been – at least for us – a shining beacon of Redis expertise and a fountain of help. You need take only one look at his SO profile to understand the caliber of expert that he is, and if you take time to read through his answers we’re certain you’re learn something new. If you want just one example, here’s one from the other day: How to understand redis-cli’s result vs redis-benchmark’s result

Didier – for being #Soreadytohelp, may your coffee always taste as good as a cup of Italian Moka, thank you.

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

#TIL How does CodePen use Redis? Critical and simple use cases, backups, and config tweaks (7 minutes to read)

Christophe Limpalair @christophelimp, whom we fondly remember from previous Redis Watch issues, writes about our favorite topic from CodePen @CodePen‘s perspective. To power this uber-frontend, the two humble Redis servers are employed (one’s a slave, naturally) to buffer n’ squash snapshot updates, background job scheduling and easy-peasy voting. But all that pales when you get to the “Critical use cases” section where you learn how an expiry-based throttler/killswitch protects an Apache Solr engine during its bad times.

There’s more goodness in the article but one thing bothers us: we’ve heard that Redis is the Leatherman of Databases, and CodePen definitely strengthens that analogy. But if CodePen is the “playground for the front end web”, what does that make Redis? The best we could come up with is multi purpose playground equipment but perhaps you can make a catchier one.

6 years of commit visualized (6 years in 30 seconds)

Commitment, visualized

That’s one cool viz from Salvatore Sanfilippo @antirez of 90% of commits made to Redis where “Each commit is a rectangle. The height is the number of affected lines (a logarithmic scale is used). The gray labels show release tags.” Tcl source included, naturally. We’re fascinated with data visualizations and even more so with those that are about code, so we couldn’t have agreed more with the author’s closing sentiments.

DuckDuckGo’s Redis Cheet Sheet #Sonice

So nice to have a cheat sheet at an untracked search query easy reach – by @stephaneisfeld via @duckduckhack. The actual content is slightly, ehm, stale but we couldn’t find the sources to make a pull request for updating it… ideas?

pocoproject/poco beefs up with Redis #CPP #cplusplus #oss

Definitely not your plain old stuff – the POCO here means POrtable COponents, and this project is all about cross-platform C++ libraries with a network/internet focus. We’re not that heavily into C++ nowadays but it appears that the project has a lot to offer, and even more so now that it has been added with our favorite MPPE. The change is so recent that the documentation reveals nil, but our quick src inspection reveals nothing less than the beginning of a new Redis client. That like witnessing a baby being born or watching a supernova – very exciting. Good luck to @pocoproject and leader Aleksandar Fabijanic – “Old, but not obsolete” – @0x00FA. BTW, is anyone familiar with the Boost Software License?

Use Redis Instead of Spark Streaming to Count Statistics (5 minutes to read)

Don’t let the #math scare you, the lesson’s simple and we really can’t argue with it.

shimohq/ioredis-tree #NodeJS #Lua #datastructures #tree #foss

If you know us anything about us by now, you should know that if there’s one thing that we like it is Redis. No, make that two things: Redis and data structures. Actually, there are three – Redis, data structures, Lua and trees. Wait, that’s four. Never mind. Our thanks go to Zihua Li @luinlee.

RAM Comparison #Sonice

So nice to see that Redis is used to test RAM performance as part of OpenBenchmarking.org @OpenBenchmark‘s suite.

Better tests for Redis integrations with redislite (5 minutes to read)

Newly-liberated from mocking hell, Testing Goat prophet/messenger Harry Percival @hjwp shares the one-step road to enlitenment.

drip_and_take.lua – Token Bucket algorithm implementation for Redis #Lua #foss

This one needs no introduction and comes from Jose F. Romaniello @jfroma as part of the limitd project by @auth0.

Redis Doesn’t Store Empty Sets Or Hashes (And Will Delete Empty Sets And Hashes) (3 minutes to read) #ProRedisTip

No it doesn’t. In fact, the very notion of an empty key regardless its data structure, doesn’t EXISTS in Redis 🙂 Still, realizing this post-factum while chasing gremlins is less than desirable so you’d be better off internalizing this now. Courtesy of Ben Nadel @BenNadel.

Cache, Rails & Redis (3:59 [30s intro incl.] minutes to watch)

Hot from last week @RailsIsrael is this talk by @Yotpo‘s VP R&D Vladislav Shub @VladislavShub on what it takes to serve 270M end users, 1400K customers and 3B impressions every month. BTW, this goes to show that having your Redis in good hands (hint: Redis) can also assist with your romantic endeavors. Via @Code4WD of Raphael Fogel @fogelmania.

OH Bart Guliker @Intrepidity > Slapping some redis on it.

Minuteman’s fast analytics gets to v2… and it’s about time! #Ruby #foss

A major release for an all-time favorite of ours by Bruno Aguirre @Cuervo. New features include counting and users but there’s promise for much more in the future… stay tuned.

Note: why is Minuteman an all-time favorite? Redis is about providing tools (Lethearmans, MPPEs, …) but what makes it really amazing is the stuff that people build on top of it. QED.

Post-scriptum to note: and, of course, Minuteman uses Lua 🙂

CodexD Demo – Redis Migration (2 minutes to watch) #Sonice

So nice to see a demo by Norman Joyner @normanjoyner of containership/codexd‘s Docker container migration awesomeness performed on a live Redis subject.

Solving Redis timeouts with a little fundamental CS (4 minutes to read)

TL;DR Redis is simple but beware of asymptotic computational complexity. This first article via @Avvo‘s engineering is from their Director of Software Development Justin Weiss @justinweiss who, AFAWK, writes about the first publicly known Redis use case in the Legal vertical.

OH Lloyd Weehuizen @lloydw > Not sure how I got by without redis, it seems to make everything so simple

Redis

How Redis is Used in Practice

By Leena Joshi @leena_joshi2015 via @DZone

MongoDB and Redis pair volume with velocity

By us via @InfoWorld

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

 

 

This newsletter was produced and distributed by Redis, Inc.

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

Repository |Archive | Subscribe | Follow on Twitter