Назад | Перейти на главную страницу

Redis: параметры конфигурации для ограничения размеров ключа / значения?

Мой босс недавно утверждал в разговоре, что Redis поддерживает некоторые параметры конфигурации для управления максимальным размером ключа или ключа / значения ... поэтому мы могли бы установить некоторую опцию, чтобы наши приложения не создавали ключи или пары ключ / значение, размер которых превышает, скажем, 50 КБ .

У меня сложилось впечатление, что такой возможности не существует и что нам придется исправлять исходные коды и создавать собственные, чтобы добавить такую ​​функцию. (В этом вопросе принуждение программистов приложений осуществлять весь доступ через сценарии Lua или через что-то вроде twemproxy НЕ будет вариантом).

Я что-то пропустил в Redis: документация где-то?

Также каковы лучшие практики аварийного переключения в наши дни? Готов ли Redis Sentinel к выходу в прайм-тайм? Это Linux-HA OCF Heartbeat / Pacemaker / Cluster Glue трио по-прежнему лучший для этого?

Почти уверен, что такой функции не существует. Все, что вы можете ограничить, - это общий размер инстанса с помощью maxmemory.

Но было бы сложно установить ограничение таким образом, чтобы это имело смысл - я бы сказал, что работая с разработчиками приложений, чтобы использовать Redis таким образом, который имеет смысл, вместо того, чтобы пинать ошибку, когда размер их значения превышает произвольная граница, лучше. (В любом случае, зачем вам иметь такой предел - какой большой ключ или значение вредит?)

Редис, похоже, не очень заинтересован в том, чтобы люди не стреляли себе в ногу; FLUSHALL или DEBUG SEGFAULT прямо у вас под рукой.

Что касается аварийного переключения, я долго работал над новой версией Sentinel, и она кажется надежной - некоторые неровности, но в целом она работает, как ожидалось. Вероятно, скоро начнем использовать его в продакшене на ограниченной основе.

У меня сложилось впечатление, что такой возможности не существует и что нам придется исправлять исходные коды и создавать собственные, чтобы добавить такую ​​функцию.

Действительно, Redis не предлагает такой функции.

Для отработки отказа см .: