A Newsletter About Everything Redis
Dateline: WestJet flight 1464, somewhere over Twin Falls, Idaho
As I write this (a few days before you read it), RedisConf19 started a little over two weeks ago. This was my 3rd RedisConf, 2nd as an employee. My progression from attendee, to regular staff, to core planning staff has given me a little perspective. As an attendee, it’s easy to underestimate the effort that goes into the event and that’s totally ok – because this type of event that drew people from literally every continent except Antarctica and Australia (hashtag goals) is a hugely important factor for the community. There is value in the keynotes, the sessions and the training, but really, from where I sit, the biggest value is the conversations that happen in between sessions or during happy hours. This may sound counter-intuitive, but this is where new relationships are forged, where war stories are related, and where the crazy ideas sprout. I think it’s fitting that RedisConf is right at the start of spring in the northern hemisphere. Or autumn, if you’re from the southern hemisphere. I guess you’re… harvesting relationships? Raking up the ideas? No, autumn is not as good of a metaphor – let’s keep it to RedisConf representing spring.
Redis Trivia: In the redis.conf file , you can set your maxmemory to 1 byte. It’s like a seedling version of redis-server. You can’t actually set any keys, but it still works for Pub/Sub!
We’re busy editing down the videos for all the sessions, until then you’ll have to wait on the RedisConf highlights. I think they’ll be in full bloom next month.
In this comprehensive and well-written blog post, Varuni Punchihewa gives a good introduction to how Redis Cluster works and how to quickly setup a cluster on a development machine and spring into action.
Smartly SE Juuso Mäyränen writes about a very smart way of using Redis that we don’t hear about often enough: Smartly performs image rendering at huge scale and keeps a Redis instance in each worker node not just to do caching, but also to help multiple processes synchronize, and apply throttling and other policies. Atomic operations in Redis basically melt like snow an otherwise potentially hairy coordination problem. Well done!
Like every year, it’s Stack Overflow survey season, and as sure as spring after winter, Redis is the most loved database this year too. This survey probably doesn’t need any introduction so just dive in, there’s a lot of interesting data in it.
CryptoCompare recently sprouted a public API and in this post describe how they apply rate-limits to it. A Redis Cluster contains all the information needed to enforce limits, and they even go into the details of how many commands they need to send for each API call. That knowledge combined with redis-benchmark made it easy for them to properly size their cluster.
Anna talks in this blog post about how to implement a Leaderboard in Redis. If you want to start growing your knowledge about sorted sets, this is a great use case.
Have you ever had the need for a data structure not built into Redis, or just wanted to do a little bit more than what is possible (or reasonable) with Lua scripts? Felipe Oliveira explains in this blog post how to write a module for Redis and how you don’t need to be a seasoned C programmer to do so.
If you never used Redis in your Java applications, this quick tutorial will show you how to get started. You’ll probably get hooked and will start using Redis in your Spring apps in no time, I’m sure. (Editor’s note: this, weirdly, didn’t need a spring based pun.)
GraphQL interfaces are blooming everywhere and in this tutorial you can learn how to connect GraphQL subscriptions with Pub/Sub in order to deliver live updates to your graph visualizations.
Libraries and Tools
Simply put: a Dynamic Execution Framework for Redis. What it does, however, it pretty astounding. It allows you to write scripts in Python (other languages coming soon) inside Redis that can react on streams and across clusters. P.S. A gear even looks like a blooming flower if you kind of squint.
RediSearch / RedisGraph integration
You’re in the weeds if you try to use a Graph database and find some sort of text among the nodes. If you use the multitype branch of RedisGraph and the redisconf branch of RediSearch the two will interoperate and you can search RedisGraph nodes as if they are Documents. It works beautifully, but it’s still as new as a spring day.
Say, you wanted to measure when the day is exactly the same length as the night for the first time during a calendar year. Maybe you might have an array of light sensors measuring the daylight precisely every 500ms. You could do this with RedisTimeSeries, which is really useful for, uh, time series data. (Editor’s note: …or you could just find the first day of spring on the calendar – either way is fine – but RedisTimeSeries is a lot more fun).
Visual Studio Code is like a garden that grows code. And, like in a garden, you can add tools to your shed. Case in point, a small extension for Visual Studio that allows to visualize what’s in your Redis instance and do simple edits. Works on all kinds of Redis instances.
Last but not least, the most exciting thing to grow out of the Redis Modules ecosystem is RedisAI. This module allows you to run AI models directly inside Redis. It can use TensorFlow models currently, but others are on the way.
The keynote during RedisConf was full of new announcements, but you’ll have to wait until the videos germinate in the coming weeks for full coverage. Let’s just say that we showed and talked about Intel DC
perennial Persistent Memory, RedisTimeSeries, RedisGears, RedisAI, graph visualizations with
Linkurious, SQL on Redis Streams with
Lenses, and the acquisition of RDBTools by Redis Labs as well as so much more.Post RedisConf, we’re already planning the next big event. This time we’re going to be in the Big Apple (Editor’s note: which is a fall fruit – no pun possible) for Redis Day New York on June 27. Two things:
|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