A Newsletter About Everything Redis
Ye Olde Editor’s Notes
Dateline: A crumpet, Edmonton, Alberta
The subconscious is a weird thing. I won’t be back in London for a few days and yet I already find myself binging on British TV and English food. Perhaps my mind is preparing for British conversation or maybe my gut is bracing for a full English breakfast. Heck, I even cooked up a batch of crumpets, which seems like the most English of foods, handily beating out fish and chips or sticky toffee pudding (which is actually Canadian). So why am I going to London? Well, it’s almost time for Redis Day London 2019. Salvatore called last year’s event “one of the best Redis events in recent times.” Britannia bound, I’ll see you across the pond on November 11 for training day and November 12 for the main event!
Redis Trivia: SETRANGE can do interesting things with the encoding of Redis objects. Strings containing numbers manipulated this way produce some very counterintuitive OBJECT ENCODING results.
Want to make more pound sterling per year? Well, the TL;DR of the latest info from Stack Overflow is that knowing Redis is associated with an increase in salary. Semirelated, the median salary for an engineer with five years of experience in the U.S. and Canada is equivalent to that of engineers with 30 years of experience elsewhere. So, to answer original question: Earn more pound sterling by knowing Redis, living in North America, and running to the foregin exchange kiosk.
Officially, the United Kingdom uses the metric system. However: How much do you weigh? Answer in Stone. How fast can your drive your car? Answer in miles per hour. Speaking of metrics…observability and metrics with AWS Lambda is a challenge and it doesn’t get easier when you throw Redis into the mix. IOpipe has recently built a tool that shows you trace and metric information about your Redis requests, down to the command. Neat.
Looks like things are moving along in the PHP world with an update to the Symfony caching adapter for Redis. This update adds support for Sentinel and lowers the Redis version requirements. Strangely, however, Symfony now uses ‘tags’ instead of TTL to invalidate caches. This is accomplished by abstracting a Redis set type, the new version has raised the constraint from 2 billion to 4 billion. I, uh, wouldn’t want to invalidate 4 billion cache items at once. That’s like every man, woman and child in the UK having 60 keys each and expiring them all at one time. But, I guess if you need that, check out Symfony 4.4?
Muhammad Hasham writes a decent intro to Redis on Dev.to—it covers all the basics. If you’re reading this newsletter, you probably don’t need this type of introduction. Send it to a colleague who is just getting started and then enroll them for Training Day at Redis Day London.
The UK has an excellent network of motorways, but for some reason the cars all go in the wrong direction. Take the good with the bad, I guess. It’s a bit like this little intro to Lua scripting by Andrei Chernikov. Lua scripting is a must-have skill for Redis pros, and this is a perfect way to direct your first steps. Just be warned, towards the end Andrei talks about his confusingly named Redis-JSON Node.js module that uses Lua. I would use the RedisJSON Redis module that can do the stuff natively.
I quit a job right as my employers started to transition to Sitecore and train people on it. My departure was unrelated, but they thought I quit because of the transition. A ‘corexit,’ if you will. Anywho, this walkthrough gives the step-by-step to implement Redis as a session store in the CMS.
Every year in the city of High Wycombe, Buckinghamshire, they weigh the mayor and city councillors. If they’ve put on weight since the last weigh-in, it’s determined that they are getting fat off the taxes of the citizens and are booed and jeered. It’s one of those things that you can’t believe are still a thing. Much like ColdFusion, which I thought had totally disappeared. Nope! ColdFusion is still kicking and and you can even integrate the Jedis library and do a quick key scanner with Redis.
Nest.js is a high-level Node.js library for building server-side applications. Under the hood it’s either Express.js or Fastify. Nest.js rides on top of these frameworks to provide useful little extras. (Think of Nest.js as Marmite with Express or Fastify as the toast.) One such extra is a service framework for people working with microservices architectures who can use Redis Pub/Sub to facilitate interprocess communication. Pub/Sub is a weird fit here, IMHO, so it’s like… unreliable Marmite?
Even if the weather outside your London apartment is always bad, at least you can develop your web applications using Spring. This article will help you understand how to map your POJOs (Plain Old Java Objects) to Redis data types.
A nice guide for sysadmins who want to know how to properly install and configure Redis. The guide also explains how to set up Redis for caching. Just make sure you ask your developers if that’s what they want, otherwise they might get angry when Redis evicts some data they thought was safe.
MongoDB is like fried fish, and Redis is like chips: when you have one, you always want the other. This article shows how to setup a basic caching scheme for Mongo and Node.js.
This article got a lot of clicks, even though. it’s not really a crumpets-to-crumpets comparison. Nevertheless, it is about storing JSON in Redis vs. Postgres.
Libraries and Tools
Starting from version 5, each major version of Redis features a LOLWUT command that displays something curious. You still have time to try out the v5 LOLWUT implementation before v6 comes out. It’s like the UK’s red phone boxes, it’s quickly becoming vintage.
Be careful with this Azure Pipeline stage that flushes a Redis instance. You wouldn’t want to inadvertently delete important data from production.That would be like putting milk in a teacup first and hot water second.
A very, very clever library for Ruby. It helps you map simple Ruby classes to Redis data types. While that sounds like an ORM library, this is not exactly a standard Object Relational Mapper, and not just because Redis is not relational. This library doesn’t abstract Redis away, so you can still use all the good stuff (like atomic operations, for example), but with all the comfort that object mappers usually give you. Scrumptious!
A parser for RDB files written in Go. It lets you convert an RDB file to CSV or JSON and makes good use of concurrency for increasing performance. The Gopher Queen meekly approves.
This tool scrapes all kinds of metrics from Redis and exposes them in a format that Prometheus can understand. I wish I had a similar service to help me understand people speaking in the Geordie dialect!
today I used tcpdump to sniff 6379 on some ubuntu linux box, then noticed their tcpdump bin ships with the RESP parser I contributed years back. cool moment <3 length=”” x:=”” resp=”” sexy=””> who else remembers downloading #libpcap/#tcpdump from http://ftp.ee.lbl.gov? good times #redis
November 12 I’ll be in London to attend the Redis Day London 2019. Last year this was one of the best Redis events in recent times, good speakers, even better public with a lot of very interesting people. I hope to see many of you there to talk ab Redis 6.
I just merged SSL support into Redis unstable. This feature has an interesting story that I want to tell you. It was kinda of a “process” to reach the right solution, or at least a solution that looks a lot better than the alternatives.
Aside from prepping for Redis Day London (if our ever-so-subtle reminders above for the November 11 training day and the November 12 main event didn’t get the message across), we’ve been super busy. One of the biggest announcements from RedisConf 19 was the integration of Redis Enterprise into Google Cloud Marketplace which is now available. Alvin, our Chief Product Officer made an appearance on Software Engineering Daily and I was on This Week in Enterprise Tech. If you’re curious to see some of the people behind our Mountain View office, check out the recruiting video that we made last month, I admit that this isn’t a perfect representation of our office, the elevator is simply not that responsive. Finally, our tech blog has a piece from Loris Cro about managing connection pools and a post about working with time-series data from yours truly.
|Questions? Feedback? Anything you want to share? Email or tweet me – I’m highly available 🙂
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