February 2020 – Edition #84

/* 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) {
*[class~="img_mob"]{
width: 100% !important;
margin-left: -10px !important;
}
*[class~="margin-mob"]{
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 #84
February 25th, 2020

Editor’s Notes

Dateline: A rocking chair, a blanket, a window on chilly white snowscape

The onset of winter sets is not really that hard on developers. Instead of being drawn to summer activities, you finally have time to tackle that back-burner project. Either at home or work. Then holidays and end-of-the-year celebrations come and go, you start-and-fail your New Year’s resolutions and the reality finally sinks in. No, Spring is not “just around the corner.” You still face weeks (or months) of climate-imposed inactivity. Sure, you could go outside, but the effort to do all that winter gear hardly seems worth it when no one else is outside anyway. Worse, you still haven’t touched that back-burner project you’ve been ignoring since Halloween. Pounding out lines of code just makes the walls seem to inch ever closer to each other. If you’ve got cabin fever, take hope in the fact that every day dawn and dusk march slowly further apart. Winter will give way to spring, and now is the time to make plans, starting with getting your tickets for RedisConf May 12–14 in San Francisco, where you can bask in the Spring sunshine, enjoy the distinct lack of snow, and Rediscover Redis!

Happy Redising,

Kyle Davis

Redis Trivia: The Redis community has a lot of duplicate first names. Example:

> SCARD redis-labs-kyles
4

> SCARD redis-labs-guys

8

> SCARD redis-labs-davids

7

 

Still, this one is unique:

> SCARD redis-labs-salvatores

1

Stories

First Steps to Caching PostgreSQL Queries with Redis

Trying to speed-up a SQL database? You’re not alone. Countless people have to deal with that and so a few common patterns have emerged. This article quickly runs through three of them. The third one will blow your mind! </clickbait>

Tutorial: Apply the Sidecar Pattern to Deploy Redis in Kubernetes

There are two main ways of using Redis at scale in the cloud: spin up a big Redis cluster and share it across multiple applications (this is where Redis Enterprise shines) or have each service have its own small, private Redis instance. This article explains the second case, this way your Kubernetes pods won’t feel alone and isolated anymore.

Bin Packing, Redis Cluster and Cobra

What if your Redis Cluster has one bustling shard, while another is a desolate home for a handful of seldom-accessed keys? To prevent his shards from going stir-crazy, Benjamin Sergeant from Machine Zone explains how he manually assigns hash slots to different shards using a bin-packing algorithm.

List All Available Redis Keys

The title of this article is a little baffling—it doesn’t match the content at all. Perhaps the title writer had been cooped up too long. Anyhow, the article goes first into the basics of data modeling and then dives into the SCAN family of commands and how to use them in Java with Jedis. Good stuff, despite the misleading title.

Redis Server-Assisted Client Side Caching

Nothing is more client-side than sitting at home in the cold of winter. Who wants to go out and fetch data in a blizzard? This article explains in detail how client-side caching, with a nice assist from the server, works in Redis 6. And there are some sneak peeks for features to come. Give it a gander. You don’t even need to leave your warm, comfy chair.

A Guide to Fully Understanding Redis

If your sanity-preserving winter project involves getting to know Redis better and involves using Node.js to do it, this guide from LogRocket is a good place to start. It covers getting and installing Redis, using its basic features, and setting up as part of a Node application. While a bit high-level, there are plenty of links to Redis’ own website for the details. Check it out!

Using Redis One-Way Gates to Eliminate Massively Parallel High Speed Race Conditions

Peter Gaivoronski explains how the team used Redis at Klaviyo. The goal: don’t inundate customers with too many emails. Using a one-way gate built with Redis, Klaviyo is able to avoid disturbing your seasonal slumber with too many messages.

Docker Compose Wait for Redis Container to Be Ready

The docker-compose-wait tool allows you to wait until other Docker images are started while using Docker Compose. Sometimes that image contains Redis. Data Novia provides detailed instructions on how to do this so you can get your stuff working and get back to sipping your hot chocolate.

Libraries and tools

laixintao/iredis

Does redis-cli feel a bit claustrophobic, but you still don’t want to abandon The Way (aka the command line) for a full-fledged GUI client like RedisInsight? Then take a look at iredis, a command-line tool that features syntax highlighting, command and key name autocompletion, plus more.

bitwyre/megaphone

Interesting utility that simply lets you broadcast Redis Pub/Sub messages over Websocket. It features an extremely simple API and supports horizontal scaling, which is great to make sure your WebSocket clients never feel isolated and scared, no matter what happens on the server side (or in the event of a snowpocalypse).

mehmetc/redis-stream

A Ruby syntax-sugary API for Redis Streams that lets you use stream workers as if they were local processes. Take a look at the code samples for more details, but beware, the processes are not really local, they’re just looking at you from the window, in the night, whispering.

NodeRedis/node-redis

The original Node.js library went through a deep freeze of stagnation over the past couple of years, but things are now moving along again with a 3.0 release and a V4 in the works. It’s like finally opening the door after being stuck inside forever.

starkdg/reventis

A Redis module designed to handle spatio-temporal events. What are spatio-temporal events, you say? They allow you to insert the location along with a start and end point. Then you can query it later. So, if you were tracking my location, you would see that I haven’t left the house in months, except to shovel snow. Because it’s a Redis module, you could see my lack of movement in real time!

 

Overheard

 
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.
 
Ok I think I’m starting to seriously like this Twitch thing. 1. It’s cool to stay with people while coding in some way, I felt less alone. 2. People see how fallible I’m, and it’s great to put things in context. 3. I raise my standards because there is folks watching me. 4. Cool.
 
@Ramin_DK @antirez @keithadam @jorn_knuttila With Redis 6 supporting TLS, and the Streams support in 5, it’s pretty difficult for me to recommend anything else to dev teams for all the annoying parts of distributed systems. Distributed locking, reliable event bus, & all the other fiddly bits just packaged up and delivered.
 

Redis

Thankfully, the Redis headquarters sits in sunny Mountain View, California, where people still go outside this time of year (Editor’s note: grumble). Not only are they going outside, they’re actively recruiting additional team members—we’re up to 400 employees and looking to grow by more than 150 in 2020. Some remote employees, however, still have to write stave off the winter madness by writing blog posts explaining multiplexing in the .Net Redis client or how to get started with the new ACL feature in Redis 6. Have you ever read one of those stories where it says “A leading so-and-so company”? You might pace back and forth inside your (snowed-in) house trying to figure out who they are talking about and why they just don’t tell you. Well, I’ll let you in on a secret: this usually means the company in question is big and powerful and has a legal department larger than your hometown. Pay attention to these stories, like this one about a FinTech company using Redis Enterprise. If you’re reading this newsletter (thank you, by the way) you probably already follow many of the big names in the Redis community, but here is a quick round up of the people to pay attention to in the RedisWorld. Finally, start making plans to see us by going to San Francisco for Google Cloud Next in April—and don’t miss out on RedisConf 2020 in May!

 

 

 

     


Subscribe

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