January 2019 – Edition #73

}
.imagecontainer {
text-align: center;
}
.imageactual {
max-width: 800px;
}
.section {
width: 100%;
border-bottom: 1px;
border-bottom-width: 1px;
border-bottom-style: solid;
border-bottom-color: #b62411;
padding: 26px 40px 26px 40px;
}
table {
width: 100%;
max-width: 990px;
border-spacing: 0;
font-family: arial, sans-serif;
font-size: 15px;
color: #545454;
background: #FFFFFF;
}
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; }

redis watch

A Newsletter About Everything Redis

Edition #73
January 29th, 2019

Editor’s Notes

Dateline: San Francisco International Airport, Gate G92

It’s been a little while since we last talked. It was, indeed, a crazy few months since our last installment in October. Let’s see: RedisGraph is now a thing and pretty amazing, and I got to spend time with the top Redis geeks in London, Las Vegas and New York and Mountain View. Oh, and opened the RedisConf19 (April 2-3) Call for Papers. All-in-all it was good 3-ish months. Oh yeah! We added a new person to the team: Loris Cro – you’ll be seeing him around a lot more. In his own words:

Hi, I’m Loris, based in Milan, Italy. Before joining Redis I was a Software Developer and the only other time I visited the US was for RedisConf18. I feel very lucky because I think I found the easiest job on the planet! I mean, I’m supposed to explain to people why Redis is a great database, and that’s like having to convince people that pizza is good: everyone already knows that!

But as an Italian, and as a Computer Scientist, let me tell you that there are many flavours of pizza, and just as many ways of using Redis. If you only tried pepperoni pizza, and only used Redis for caching, then you really want to listen in, because you’ve been missing out, and I can’t wait to tell you all about the crazy stuff that’s coming to Redis.

I really like Loris’ analogy of Pizza and Redis. The only problem is that now I’m extremely hungry as I write this.

Happy Redising,

Kyle Davis

 

Redis Trivia: It’s possible to pass a very high number of arguments into a Redis command. I’ve personally sent over 1 million arguments successfully. However, if you’re sending a command from Lua in Redis you have to watch out for a fixed stack size – that will bite you in the low thousands! Keep this in mind when you try to have a key for every grain of rice in your sushi roll.

Stories

Speeding up Redis with compression

File under: speedlimit, squeeze

Zohaib over at Doordash, tells us how Redis, alongside a little compression, is enabling you to get a 24-piece Buffalo wing box a few hundred milliseconds faster. More time to savor the spicy, buttery flavour, if you ask me.

Terrorizing Redis With Beautiful Lua

File under: dontusekeys, lua, hotfixSome Lua scripts can be like oatmeal raisin cookies – they look fine from a distance but then look a little bit closer and realize it’s not a delicious chocolate chip cookie but a cookie filled with raisins rotten dried-up, grapes. This story outlines the tragic tale of an innocent-looking Lua script that threatened to kill a Redis server. Will the customers be able to obtain relevant banners on time, or will they be condemned to a life of marginally worse ads? Read to find out.

Reading Challenge: Redis Hash Table Scanner

File under: dict.c, data structures, redis-internals
Sometimes you don’t want to know how the sausage is made, and other times knowing how much butter goes into that delicious dessert just makes it even more tasty. In this explainer, there is a deep dive on the SCAN family of commands and how they are guaranteed to return all items in Redis or a single data structure. How do they manage to do that even when a hash table is being resized? Let Ehud Tamir at Google guide you through the code.

How to Setup a Firewall for Redis using ufw

File under: raspbian, raspberry-pi, iot, linux-tutorialMaybe you like growing plants, and you want to monitor things like humidity and temperature. Maybe you have a box where you grow your “special” plants in your basement. You have a few sensors and a Raspberry Pi, and you store the readings in Redis. The one thing that you definitely don’t want to happen is finding out that people are snooping in your database. I think it might be a good idea to setup ufw properly.

I mean, if your neighbours knew you were growing delicious heads of lettuce, they might bang down your door to make a decent salad.

Building a Smart Card Transit Ticketing System With Redis and Raspberry Pi

File under: python, raspberry-pi, iot, public-transportationVery thorough article describing how to build a ticketing system with a Raspberry Pi. Boy, a pie sounds really delicious right now, can’t figure out why… anyway. If you were wondering what the use for Pub/Sub in Redis was, this is an extremely practical answer that sadly doesn’t involve pastry.

Creating a Distributed Lock With Redis in .NET Core

File under: c#, dotnetcore, distributed-systemsDistributed systems are hard, we all know that. Distributed locking is especially hard, or, actually, used to be hard. To be precise, it’s not anymore. And in this article, Catcher Wong describes how to use Redis to lock people from eating food. Crikey, I’m hungry.

Libraries and Tools

File under: wtfcats, idontunderstandscala
 
I admit the Scala is not my realm. This has something to do with Redis Streams effecting your cats I think. At any rate, pass this along to your friendly local Scala developer so they can feed them some Lettuce. Or something.
File under: counting, php
 
If you’ve built a webpage for your Swedish Meatball delivery service using the Laravel framework and you want to show off the massive number of pages you’ve served… we’ll this is the tool for you.
File under: streams, nodejs
 
I’ve got to admit, this one took a little digging to figure out what exactly it does, but after figuring out it could help minimize the number of open connections used with Streams and node, well, I was sold. Editor’s note: Sorry folks, this is too hard to figure out the food angle, but it was too tasty to pass up. Check it out!

Overheard

If you can’t find the RESP3 branch on GitHub anymore, is because all the work was merged into “unstable”. There are still a few things to fix, but I’m now going to do the same 90% work on ACLs. And later refine everything.

 
Hiredis, the official C client library for
#Redis is one
 away from 3500 on
#Github.Somebody be a hero

Redis

If you have a hunger to try out a new language maybe you should try building a Redis Module in Zig. Loris (see above) writes how you can get started
in this blog post.If you have the appetite to explore some of the more advanced things you can do with session storage join us for the Intelligent Session Storage webinar on the 31st.RedisGraph reached a new milestone recently in version 1.0.11, while the release notes briefly mention a single line “Traverse from multiple nodes concurrently,” this represents a pretty interesting advancement. Imagine your graph is a pizza and each node is a pepperoni that is connected by a basil leaf, if you want to find the shortest distance between pepperoni instead of looking at one pepperoni at time, you can look at multiple pepperonis at once. Sounds delicious.Finally, but certainly not least, we have RedisConf19 on April 2-3. Not only do you get to hear Redis stories from all over the world, but we also feed you a lunch of your choice from several food trucks. If last year was any measure the talks were only slightly better than the food trucks. And that says a lot. Register today to get in on the food truck / Redis action. Oh! Also, you’ve only got a few days left to submit your own ideas on the Call for Papers (closes on the 31st – now or never, people)!