int main(int argc, char **argv) {
Salvatore Sanfilippo @antirez releases the third candidate (technically 4th?) for v4 is out with a boot-load of goodies ranging from features through fixes to improvements across the board. Barring stop-the-world issues and forces of nature, it looks a formal release isn’t too far away. Two and a half notable observations about the RC’s impressive payload:
- A substantial count of major changes
- The force community is strong – happy May Fourth!
- More parties involved in fixing issues and contributing features
- Two of the biggest cloud providers’ employees assist in squashing a family of OSS DB bugs (should that become a trend, Matt Asay @mjasay will have to redo Cloud convenience is killing the open source database via InfoWorld @infoworld)
Redis would not be sustainable without the help received from the community and from the Redis Labs folks (and I would be mad…)
Look what Salvatore Sanfilippo @antirez had found in his email archives – the first version of what would eventually become it and several related trivia facts.
tl;dr from BITFIELD ‘s motivations by Salvatore Sanfilippo @antirez:
Fun fact: Reddit’s 2017 April fools’ project r/place was built using the Redis BITFIELD command in order to take an in-memory representation of the collaborative canvas.
Discussion in /r/programming: https://www.reddit.com/r/programming/comments/656z8t/how_we_built_rplace/
Code repository: reddit-plugin-place-opensource/reddit_place
All thanks for the best ever April Fools’ project go to Brian Simpson, Matt Lee @madlymattlee, Dan Ellis @I_am_Dan_Ellis and the entire Reddit @reddit team.
It’s very cool and was the perfect data structure for our use case. Thanks for making it!
Wouldn’t have been possible without redis! Thank you!
A new section has been added to the documentation about v4’s new eviction policy – by Salvatore Sanfilippo @antirez.
Note to self: verify that LFU is a politically correct.
Santoro Simon had attended QCon @QCon London 2017 and took notes of what looks like an educational user story . Of particular (personal) interest was this session from Cem Staveley, but both video and presenter are untraceable to this watcher’s eye.
Nikrad Mahdi @nmahdi reviews the design of the homegrown rate limiting system that’s employed by Figma @figmadesign to protect against spam attacks. He provides a wonderfully graphic explanation of three approaches – token bucket, fixed window counters and sliding window log – in native Redis terms.
Due to security reasons, AWS’ Redis-as-a-Service is not accessible to public interfaces. While this lockdown prevents some attacks, it also makes it impossible to just connect to from, lets say, your laptop. Jamieson Becker @JamiesonBecker of Userify @userify shows how to set up a tunnel to quickly and effectively work around that issue.
A security-oriented piece in the ever-growing series by Kyle @stockholmux, that shows how to use the rename-command configuration directive and call the renamed command from code.
Bonus: whilst researching the this, Kyle also uncovered an issue (#3978) in the cli.
@stockholmux your Node/Redis series is amazing! Thanks for the great content
Carlos Justiniano @cjus provides few-but-well-worded paragraphs about Hydra Microservice @HydraNPM – clear, effective and compelling.
TODO: 1) learn Node.js 2) write a few microservices (how many are enough?) 3) profit!
This.
The reply is absolute perfection – enjoy and upvote h0x91B‘s answer }:-)
The more I use Redis, the more I find uses for Redis
Mike Perham @mperham had a productive month preparing for #RailsConf. Between describing how to migrate Sidekiq from using namespaces to numbered databases to releasing Sidekiq v5.0 (‘grats!), he also put together this handy reference about the basics of Redis monitoring.
Complete at least one of the extra credit tasks in the item above – this is a Beat that collects the Redis slowlog and a dashboard to match.

Anil Shukla @shuklaanil tells how Netcore Solutions @NetcoreSolution had moved from a single Redis instance to a sharded topology. While a little skimpy on details regarding how sharding was actually done, this still makes a short nice read.
Early on at Flickr, I once ran a flushall against a prod redis instance, not realizing a) it was prod and b) it dropped all dbs.
It may be too early to tell, but by the looks of it appears that there’s a new series author becoming. Paweł Słomka @pawel_slomka is a gopher, and provides two tutorials that I sniffed .
Note: both are extremely satisfying, olfactory-wise, in my opinion
If you’re already using #Splunk , here’s how you can add a reputation database (reputed as a necessary enrichment ingredient) with a little of open source software goodness from RST Cloud @rst_cloud.
GitHub repository: https://github.com/rstcloud/threatdb/
This introduces the Autopilot Pattern for Redis (no cluster support… yet). By Jason Pincin @jasonpincin of Joyent @joyent, along with the contributions of Dave Dunkin @ddunkin and Faithlife @Faithlife.
With the Redis-backed (in-memory) db subconscious by Michael Flaxman @mflaxman via Paxos @PaxosGlobal.
Note: smells like ORM
I have to say, Redis is the politest and most gentlemanly of all databases: “Redis is now ready to exit, bye bye…”
While still new-ish, this looks promising in terms of functionality and robustness – a replication tool that supports slave synchronization, persistence files and the latest formats and versions. By leon.chen @chenbaoyi1.
Discussion in /r/redis: https://www.reddit.com/r/redis/comments/64qnt1/i_wrote_a_tool_which_implemented_redis/
Three well-executed simple-n-clear diagrams by Taswar Bhatti @taswarbhatti, that make it hard to miss the points of using pipelining and batching (transactions). You can safely treat the code snippets as written in some pseudo language 😉
Note to self: steal these for next training session!

My reaction to the project’s promise – “Making Redis pipelines easier to use in Python” – was: pipelines work just fine, why change anything? But after reading the (great!) docs about “a paradigm shift” to using “reusable blocks ” and “duck-typing”… well, it makes perfect sense. Pythonistas should really check this one out.
Bonus: both stand-alone and cluster modes are supported.
In it’s latest update, this open-source-but-yet-commercial .NET client reels in support for the cluster and better connection resilience. Via Sergey Odinokov @odinserj of Hangfire @hangfireio.
A proof of concept by Gabriel Bordeaux @gabrielbordeaux that essentially adds usage-based expiry on top of Redis’ TTL.
That’s a very cool pattern that can be quite useful, as the graph “proves” – someone could develop a Module (s! Modules! Modules!) for that to take it to the next level…
New redis slogan: Cache me outside, howbow dah?
|