Ограничение размеров хранилища Redis для пользователей и/или пространств имен

#redis

Вопрос:

Я пытаюсь настроить систему Redis, в которой у меня есть несколько пользователей и некоторые пространства имен, где для каждого пространства имен есть только один пользователь, имеющий доступ на запись, остальные могут только читать. Доступная память ограничена, и я хочу убедиться, что один пользователь/пространства имен не займет всю память и не заставит голодать остальных.

Поскольку данные записываются случайным образом и должны храниться до тех пор, пока этого хочет производитель (пока они находятся в пределах некоторого заданного ограничения размера хранилища), я не думаю, что смогу использовать какую-либо из встроенных политик выселения LRU.

Итак, есть ли способ реализовать квоты для каждого пользователя или каждого пространства имен или способ определить политику выселения, которая удаляет только данные нарушающего пространства имен? Я не могу найти какие-либо параметры конфигурации, соответствующие моим потребностям, но, возможно, это можно решить, создав плагин?

Комментарии:

1. Вы можете использовать redis в качестве общего кэша LRU и отправлять любые удаленные данные на обычный жесткий диск/ssd базы данных. Таким образом, данные бездействующих пользователей останутся на жестком диске базы данных, в то время как данные работающих пользователей останутся в redis. Затем у вас может быть другой уровень кэширования, но на клиентском компьютере, чтобы предоставить им собственную оперативную память. Что здесь означает преступник? Спамеры? Бездельники?