July 2019 – Edition #78
A Newsletter About Everything Redis
Dateline: Air Canada Flight 500, somewhere over Michigan
I just left Chicago, a beautiful city. But, chi-town, we’ve got to talk. It was too hot. Once it gets above 35℃/95℉, I’m done. My brain stops functioning and I cannot GET, I cannot SET. It was so hot I felt like my eyeballs and teeth were sweating from the time I landed until I got comfortably in the air headed back to the north. The worst, though, was working on my laptop. The wrist sweat from resting my hands on either side of the trackpad was so bad that I wondered if it would start flowing and lead to water damage in the logic board.
But all that sweat was for a good reason – in Chicago, I was talking to many wonderful Redis Geeks in the making at one of our workshops. I think I did a good job, but then again, this whole thing might be some sort of heat-stroke induced hallucination. Maybe I’m actually laid out on the sidewalk, wearing a “Redis Geek” shirt, muttering about Lua string concatenation. If you find me in this state, please put me in a cab and send it to O’Hare.
Redis Trivia: “Redis Server” is an anagram for “Is ERR Served?” which, ironically, is a question you ask when calling Redis from a Node.js application with Redis.
Redis Day NYC Highlights
Herman Banken geeks out about the trick behind SCAN cursors. Have you ever wondered how a single number can ensure you don’t miss items even during a table resizing? I’ll give you a hint: SCAN queries are stateless, so that number is not some kind of search ID. Are you burning with curiosity yet?
This very thorough guide covers everything from setting up your first Redis server, to data design adjustments from Python to Redis. It’s good stuff to know, especially when your app servers are melting the hosting machine. With a touch of caching, all will cool down again.
It’s good to keep hot keys in Redis, and even better to copy scorching hot keys directly in your application’s local memory. Redis 6 will make it easy to set up a local caching scheme, thanks to a new key-change notification system.
This article has a few things I like (Redis for sessions, Redis as a message broker and WebSockets), but also something I’m only lukewarm on (Django). While some people may like Django, it was never my cup of tea. I’d rather steep my tea in a framework that is less opinionated.
This one is a little unusual for this newsletter. I’m not too hot on the responses in this thread on dev.to — they kinda work, but only for limited uses of Redis. What I want you to do is go over and write your own Redis ELI5, and really heat up the discourse over on dev.to.
It seems like you can’t go to any developer forum without running into WASM these days. Some would say it’s truly a hot topic. Now, because web assembly is a virtual machine, it generates more waste heat than bare-metal Redis (expect a ~? slow down), but it is still a promising and interesting port.
Libraries & Tools
RedisBloom has matured and now supports two new probabilistic data structures! Hot take: Bloom for yes/no, Top-K for most frequent/popular and Count-Min-Sketch for counts.
My sky miles account is really warming up because I’m traveling so much lately. You should come to one of our workshops if you’re near Portland, OR, Charlotte, NC, Dallas or Denver, and hear me extol the virtues of the database with a fire-engine red logo. You know what else could cause a fire? Running servers that don’t have proper cooling when you are, say, using just 40 of them to get to 200 million ops per second on Redis Enterprise. What won’t catch fire (because it’s booth cool and efficient) is using the newest addition to RedisBloom, TopK, to estimate the highest frequency elements in a data set.
This newsletter was produced and distributed by Redis Labs, Inc.
© 2019 Redis Labs, Inc. 700 E El Camino Real, Suite 250, Mountain View, CA 94041