May 2019 – Edition #76

A Newsletter About Everything Redis

Edition #76
May 28th, 2019

Editor’s Notes

Dateline: My Backyard, Edmonton, Alberta, Canada

I’m surrounded by the green of spring on my patio. Wait, er, that was the last issue. In this issue we’re talking not about the green of spring but rather the spirit embodied in the steel, glass and concrete structures that rise up from a rocky island off the east coast of the U.S. It goes by many names: The City of Dreams, The City That Never Sleeps, The Capital of the World, Where Night Court Takes Place. Of course, I’m talking about New York City. I visit the home of Night Court pretty frequently, so it’s not that the city itself has me daydreaming, nor is it the abundance of floppy pizza contained therein, but rather the upcoming gathering at Redis Day New York that I’m looking forward to (sign up here). If you’re in easy distance of the Big Apple via train, plane or automobile, I suggest you check it out. You can meet me, an honor bestowed only upon the most elite of Redis Geeks. All this comes with the proviso that I’m upright and able to hydrate myself enough to make it out of the hotel (confused? See Redis Watch #74), Barring that, I’ll be there to hear about new stuff in the pipeline, exciting use cases, and of course whatever Mr. Salvatore Sanfilippo is cooking up.

Happy Redising,

Kyle Davis

 

Redis Trivia: 512mb is the limit to set a string in Redis. However, if you need more space and your string is non-binary, you can use RedisJSON (and JSON.SET) to store more than 512mb in a single string – you just have to put double quotes around it. Don’t go crazy though, it’s an expensive operation at this scale!

RedisConf Highlights

Using Redis Streams to Build Event Driven Microservices and User Interface In Clojure (Script)

RedisWatch_76_v1-redis-streams.jpg  
Bobby Calderwood is spreadin’ the news on using Redis Streams and microservices. He digs into a real project he worked on and goes over the reasons why they chose Redis and why they went the microservice route. He also gives you some great things to think about if you’re planning on building these types of systems. Bobby also thinks a lot about the front end of these systems too so he ends the talk explaining how they use ClojureScript to make sure the front end is a first class citizen and not an afterthought. Like Aaron Judge stepping up to the plate, this is a solid home run.

Techniques to Improve Cache Speed

RedisWatch_76_v2-techniques-to-improve-cache-speed.jpg  
Ever hear of a cache stampede? It looks a lot like Madison Square Garden emptying out after a concert, only it’s data requests from your servers. Zohaib Sibte Hassan from DoorDash talks about how to improve your cache speed and offers some great techniques for fixing cache stampedes. DoorDash uses Redis pretty extensively at scale, so they’ve run into some interesting issues that Redis helps them solve. Now, if he could only spend his off time on speeding up the F train.

 

Real Time Health Analytics With Websockets, Python 3 and Redis PubSub

RedisWatch_76_v3-real-time-health-analytics-websockets.jpg  
Learn how to use WebSockets and Redis Pub/Sub to power a plug-n-play analytics platform from this excellent presentation by Benjamin Sergeant which has lots of insight on communication protocols, architectural choices and tooling design principles. It’s only 24 minutes long: you could watch this while waiting in line for your ShakeShack burger!

 

Redis Cluster: Enabling Large Scale HPC Workflow With Data Broker

RedisWatch_76_v4-redis-cluster.jpg  
Did you know that Redis is also installed on the IBM Sierra super-computer? It’s used as a data storage backend for huge simulations. Claudia Misale, from the IBM T.J. Watson Research Center in NYC, showcases all the work they did to empower researchers to easily scale up their simulations. Could this be the key to solving traffic? Ask your cab driver what they think.

 

Stories

Design of new modules API functions: server events and module private data

Work on the Modules API moves forward and in this issue, Antirez discusses the implementation of new events that would notify modules of system-wide changes that could impact them. One example is notifying a module that another one was loaded, or that the server is about to shut down. These new additions will allow developers to build higher quality modules that behave better in the Redis ecosystem, making your friendly neighborhood module a real production-ready Avenger.

Benchmarking the experimental Redis multi-threaded I/O

Filipe Oliveria talks about what you can expect out of multi-threaded I/O in the upcoming releases of Redis. While I’m an event loop type of guy (single-thread forever), he makes a great case about network bounding. He makes some bold statements about being able to get above 50 mil ops/second threshold with a tiny number of servers but seem to be an in-theory calculation at this point. I’d love to see it in more than just theory. Just like the C train can get you from 168th to Euclid Ave in Brooklyn, amirite?

Redis turned 10. 10 reasons why Redis is a great technology

Early on, New York City was New Amsterdam, settled by the Dutch. So, I imagine that early Manhattan was ripe with windmills and littered with discarded wooden shoes and tulip bulbs [Editor’s note: I have never visited the Netherlands, so this is just my overactive imagination spoiled by years of stereotypes.] Anywho, if you made assumptions about the early history of Redis, head over to Eduonix for a pretty good historical overview our favorite in-memory NoSQL database and why you should use it. They also link to some courses by a friend of Redis, Brad Traversy. I haven’t done the course personally, but the course outline looks pretty good.

Beating round-trip latency with Redis pipelining

Ever get stuck on a train that is stuck behind another train…that’s behind another train? Ever run to catch a train to jump on it and sit down only to hear the conductor say, “we’re being held at the station for a bit.” This is life without Redis pipelines. Here’s a great small article that explains what pipelines are and how you can make use of them in Redis.

A Fireside chat with Redis

RedisWatch_76_FiresideChat.png  
One time I was walking down the street in NYC and I saw a guy yelling at a tree. He seemed pretty mad at this tree. I’m not exactly sure what it did to him, but I could tell he was not happy. I felt bad for the tree for being berated in public like that, which says something about me. This article kinda reminds me of that experience. Harsh has a conversation…with Redis. It’s fun and a different take.

Laravel response cache package

Like Starbucks in Brooklyn, Spatie is *everywhere* in the Laravel community. This is a great package that helps you cache full responses and gives you really good controls to tweak caching and decide what not to tweak.

Getting started with RediSearch with WordPress and WooCommerce on Ubuntu

Like the dollar-slice of pizza on every corner, it feels like everyone is using WordPress somewhere in their organization. There are many flavors and tons of plugins. Can you use Redis with WordPress? Of course, you can! This is a great write up on a plugin that uses RediSearch. Learn how to get the module installed, loaded and activated with WordPress. One word of warning: you’ll need to install Redis on your server, it won’t install Redis for you.

 

Libraries and Tools

 
A good-looking Redis text-based UI client written in Go. It’s not a REPL-like redis-cli, so it’s less powerful in a way, but makes up for it by allowing a more graphical view of Redis, without having to trade your keyboard for a mouse. It’s an early version, so you know the drill (be careful about using alpha tools in production), but it’s very promising.
 
I don’t follow sportsball, but it is very confusing to me that the New York Jets actually play in New Jersey. So, if you live in New York, you have to go to New Jersey to cheer for your hometown team. Messed up, man. This is similar to the npm-cache-proxy, which is written in Go. If you want to speed up Node(.js) Package Manager, you can use Go and, of course, Redis. I haven’t personally used it, but it seems like solid software to chance downloading half the internet when you try to get that React project going.
 
New York has that weird, floppy pizza that you have to turn into some sort of origami before you eat it or it falls into a droopy mess. Compare this to, say, Chicago, where pizza is a gut-bomb discus, and you might understand why people prefer something a little less heavyweight. This was the same idea behind mini_redis, a smaller, lighter weight (and, I assume, less greasy) version of a Redis client for the Crystal programming language. Check it out for your next Crystal project.
 
In early November of last year, the Big Apple was enthralled by a Mandarin duck that had somehow taken up residence in Central Park. I’m not sure it will draw the same crowds, but Wildduck is a “modern mail server software for IMAP and POP3” that looks pretty dang slick. The best part is that it uses lots of Redis. Check it out!

Overheard

 
That moment when your project (BlockHound) is trending on @github in “C” language, next to repos like Linux kernel, Git, Curl, Redis and others  
 

Any new database tech that you’re excited about?

Super pumped about UNLINK in #Redis 4!!! We are updating all our instances Friday!!! 

 
 

Redis

Our research says that a newsletter of this size takes about 8-9 minutes to read completely. By this point, you should be thoroughly in a New York state of mind. Was this some sort of subliminal messaging to get you to Redis Day New York? Of course it was, so
get your (free) tickets today. Also, it was much easier to write quips about the Big Apple than our last two themes (Editor’s note: what was I thinking?).
 
Can’t make it to New York on June 26 and 27? Well, that’s what JFK, LaGuardia and Newark are for. What’s that? You can’t get a ticket? Have you considered the many Amtrack connections to Penn Station? Don’t like trains or planes and you’re in the UK? Well, have you considered Cunard’s Queen Mary 2 from Southampton to New York? There are so many options.
 
If one of those fine travel options doesn’t work for you, you can still catch up with Redis developments by looking at these articles by the good folks at Redis:
Finally, if you have free time on June 13th, then you should add this webinar to your series of activities for the day:
Questions? Feedback? Anything you want to share? Email or tweet me – I’m highly available 🙂

 

 

This newsletter was produced and distributed by Redis, Inc.

© 2019 Redis, Inc. 700 E El Camino Real, Suite 250, Mountain View, CA 94041

RepositoryArchive | Subscribe | Follow on Twitter