Company
Date Published
Author
Yaron Dolev
Word count
1025
Language
English
Hacker News points
None

Summary

Redis, an in-memory database, uses client buffers to serve client requests, which can be a source of headaches if not managed properly. Client buffers are allocated memory space for each connection and store response data before it's read by the requesting client over the network. If these buffers become too large, they can cause Redis to run out of memory, leading to eviction policies being triggered. This can happen even with top-performing clients and network links, and certain commands like KEYS, SMEMBERS, HGETALL, LRANGE, and ZRANGE can be particularly problematic if used irresponsibly. By setting client buffer thresholds accordingly and using the SCAN family of commands instead, developers can prevent memory-related issues and maintain a smooth Redis experience.