cachingredisstackexchange.redis

Redis memory management - clear based on key, database or instance


I am very new to Redis. I've implemented caching in our application and it works nicely. I want to store two main data types: a directory listing and file content. It's not really relevant, but this will cache files served up via WebDAV.

I want the file structure to remain almost forever. The file content needs to be cached for a short time only. I have set up my expiry/TTL to reflect this.

When the server reaches memory capacity is it possible to prioritise certain cached items over others? i.e. flush a key, flush a whole database or flush a whole instance of Redis.

I want to keep my directory listing and flush the file content when memory begins to be an issue.

EDIT: Reading this article seems to be what I need. I think I will need to use volatile-ttl. My file content will have a much shorter TTL set, so this should in theory clear that first. If anyone has any other helpful advice I would love to hear it, but for now I am going to implement this.


Solution

  • Reading this article describes what I needed. I have implemented volatile-ttl as my memory management type.