Break the data matrix. Explore what Redis has to offer.

Learn More

January 2020 – Edition #83

/* Some Basics */
table.responsive {
width: 100%;
height: 115px;
table.responsive th {
background-color: #ddd;

/* Hide cell labels by default */
table.responsive td .label {
display: none;

/* Apply the contained CSS only to narrow viewports via a Media Query */
@media screen and (max-width:640px) {
/* Hide the table header */
table.responsive thead {
display: none;

/* Vertically stack the table elements */
table.responsive tbody th,
table.responsive tbody td {
display: block;

/* Make all cell column span tags visible & change them from inline-block to block */
table.responsive td span {
display: block;

/* Make all cell labels look like column headers */
table.responsive td .label {
background-color: #ddd;
font-weight: bold;
text-align: center;
@media screen and (max-width:500px) {
width: 100% !important;
margin-left: -10px !important;
margin-left:10px !important;
margin-right:10px !important;

h1 {
color: #b62411;
font-weight: 700;
h2 {
color: #b62411;
font-weight: 700;
margin-bottom: 20px;
h3 {
font-weight: 700;
padding-bottom: 0px;
margin-bottom: 0.3em;
margin-top: 1.5em;
a {
color: #b62411;
text-decoration: none;
h3 a {
color: #b62411;
text-decoration: none;
h3 code {
padding: 2px 4px 0px;
border: 1px solid rgb(221, 221, 221);
background-color: rgb(248, 248, 248);
border-radius: 3px;
pre { white-space: pre-wrap; }
blockquote {
margin: 1rem 0px;
border-left: 4px solid #B62411;
padding: 0px 15px;
color: rgb(119, 119, 119);
blockquote > :last-child { margin-bottom: 0px; }
blockquote > :first-child { margin-top: 0px; }

A Newsletter About Everything Redis

Edition #83
January 31st, 2020

Editor’s Notes

Dateline: The first page of the 2020 calendar

Gosh, you haven’t heard from us since last decade! (That joke never gets old.) We took a break in December to stuff ourselves for the holidays. Honestly, a December RedisWatch would probably have been tossed into the dustbin in your New Year’s resolution to (re)achieve inbox zero glory. But now it’s a new decade, it’s the Twenties! 2020 sounds so futuristic it makes me wonder what happened to my promised jetpack, flying car, and ubiquitous household robots? (Roombas don’t count.) We do have Redis, of course, the official database of the future.

Happy Redising,

Kyle Davis

Redis Trivia: LOLWUT is unexpectedly useful in Redis 6. If you supply LOLWUT with the arguments VERSION 1 it will quickly output the current server version number. No pretty art, though.


Redis 6 RC1 is out today

The Bell Picturephone debuted in 1964 at the World’s Fair in New York. Visitors could make a call and see each other. The future had arrived. But it took decades for video calling to become ubiquitous. What does that have to do with Redis? Well, the first release candidate of Redis 6 is out and it offers a glimpse at the Redis of tomorrow: ACLs, RESP3, client-side caching, more powerful modules… the future! Thankfully, it won’t take decades before it is commonplace, expect general availability in a few months!

Writing a Python ORM for Redis

A wise old man once exclaimed: “Roads?! Where we’re going we don’t need Roads!” Similarly, Redis doesn’t exactly need an object relational mapper and thus the traditional mindset behind ORMs is based on a few principles that don’t adapt well to the Redis way. It’s about time we talk more about creating tooling for Redis. If the exploration in this article piques your interest, take a look at redis-limpyd.

Event Sourcing with Go and Redis

It’s 2020 and we still haven’t solved the general AI problem, but at least we’ve got microservices and event sourcing. Some say that’s just a step sideways, but that’s only because they haven’t tried the right agile development methodology yet (/sarcasm). In this article, Felix Vo introduces the basics of event sourcing using Go and Redis Streams.

How to Build a Streaming API Using GraphQL Subscriptions

Many people think that GraphQL is the future. If so, Bob Reselman gives you a peek at what’s to come with a neat how-to covering GraphQL subscriptions using Redis PubSub using the example of a real-time venue-seat reservation system.

Scheduling Tasks in Python with Redis Queue and RQ Scheduler

Sam Agnew at Twilio (whom I hear shreds) shows us how to use RQ Scheduler, Redis Queue, and Redis itself to schedule your Python code to run… in the future! Sam wrote this in 2019, the same year that The Running Man is set in. Was Arnold “running” Python, I wonder?

Build Your Own Redis

Imitation is the most sincere form of flattery. Paul Kuruvilla is making a “toy Redis clone” in Ruby (his words, not mine) for the sheer learning-joy of it. It’s a multipart blog post series that he started last decade (har har), has progressed well on, but isn’t quite finished with yet. If you like Ruby, Redis, and alliteration, go and check it out!

Redis Running Inside Docker Container on NVIDIA Jetson Nano

The title pretty much says it all. The NVIDIA Jetson Nano was built for AI (and I for one welcome our future robot overlords) but it also runs a mean Redis. Detailed instructions for running Redis (and not a robot apocalypse) can be found within.

How to Migrate Redis Data with Replication on Ubuntu 18.04

Mark Drake at Digital Ocean shows us how to move data using replication in these detailed and step-by-step instructions. As it should be. This is the 2020s. We don’t just put things on thumb drives and deliver them via sneakernet any more.

Libraries and tools


I’ve been waiting a long time for my air taxis—they always seem to be 5-10 years away. But one thing we’ve been waiting for is finally here: the rewrite of Disque as a Redis module. Disque is a highly distributed messaging system that basically scales up good old list-based message queues to the next level by massively replicating all messages and ensuring at-least-once processing. It’s for big-scale applications, but it’s also still in alpha, so use it at your own peril.


An application that uses Redis to offer an evented framework for orchestrating smart devices in your car! It currently supports starting a dashcam when you turn the car on and features a PubSub mechanism for adding more functionality. It’s not exactly a flying toolkit for your car, but it’s getting closer!


This Python library lets you access various Redis data structures as if they were native objects in Python, for example allowing you to use a Redis hash with a Python dictionary interface. This is like having a robot that fetches a beer from the fridge for you–and it’s also an interesting and innovative data-oriented take on how to access Redis. Just make sure to know when network calls are performed!


CacheQL is, in the projects’ own words, “an open-source library for server-side caching GraphQL queries.” It’s for Node.js and it’s in beta—just like hoverboards, flying cars, and Gmail for all those years. However, I suspect it’ll be out of beta relativelyn soon. Check it out if speed and GraphQL are your things!


GitHub Actions are as futuristic as Mr. Fusion. But unlike Mr. Fusion, they’re here today. This GitHub Action launches Redis for you. Simple and useful!


Finally found a viable use case for #Redis cache in a clients system. We have an API that is in essence a translation to a 3rd party API. First request takes 8 seconds, second time 45ms. Genius.
Finally Omg #redis is such a bomb product! Just deployed a new version of my application and I reached 1M SETs/sec by using Pipeline! Just wow @antirez you and your team are simply awesome
“I wish postgres had a scripting model a bit like redis. Where functions are cached under their sha1”. Nobody would ever say this when I proposed this model, so I’m happy to read such comment on HN.


The new decade is a great opportunity to review the past and look to the future: check out the Redis year-in-review. It’s clear that, in the future, you’re going to see Redis being used as a primary database, so take in a little bit of prose about why you might want to say goodbye to your cache by yours truly. If you have anyone in your life who plans to take up Redis in the new year, point them to a primer for that #RedisLyfe with this noob guide, then send them straight to getting started guide for Streams and Java. Speaking of lyfe life, MutuaLink uses Redis in a microservices architecture to respond to (literally) dangerous incidents-—it’s fascinating. If you like that kind of architecture and can stand a completely shameless plug by the author of this very newsletter, take a glance at this excerpt from Redis Microservices for Dummies or just dive right into the whole book.

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


This newsletter was produced and distributed by Redis, Inc.

© {{my.footer_year}} Redis, Inc. {{my.footer_address}}.

This email was sent to {{lead.Email Address}}. If you no longer wish to receive these emails you may unsubscribe at any time.

RepositoryArchive | Subscribe | Follow on Twitter


Get the hottest Redis news with Redis Watch newsletter.

Thanks for Subscribing

We appreciate your interest! You can change your communication preferences any time by visiting this page.

Continue Your Journey to Rediscover Redis