На мой взгляд, с развитием ключей «хэш-конфликт» будет возникать все чаще и чаще. Я понятия не имею, хранятся ли эти ключи в одном слоте в односвязном списке, тогда будет выполняться производительность чтения, особенно устаревшая запись?Почему у коммутатора redis есть только 16384 слота?
ответ
Эти «слоты» - это всего лишь единица распределения по осколкам. У вас не будет серверов 16K-серверов в кластере; но они достаточно гранулированы, чтобы обеспечить некоторую степень взвешенного распределения нагрузки. (Например, если вы начинаете с четырех осколков на одном типе оборудования и выбираете ввести еще два более мощных профиля, вы можете сделать новые серверы целями в два раза больше слотов, чем существующие серверы, и, таким образом, добиться более равномерного использования . от вашей способности
Я просто суммируя суть того, как они используются для подробной информации читайте Redis Cluster Specification
ответ от antirez
причина в том..
- Normal Пакеты сердечного ритма несут f ull конфигурация узла, которая может быть заменена идемпотентным способом старым, чтобы обновить старую конфигурацию. Это означает, что они содержат конфигурацию слотов для узла в необработанном виде, который использует 2k пространства с слотами16k, но будет использовать запретительное 8k пространства с использованием слотов 65k.
- В то же время маловероятно, что Redis Cluster будет масштабироваться до узлов более 1000 матов из-за других компромиссов проекта.
Таким образом, 16k находилось в правильном диапазоне, чтобы обеспечить достаточное количество слотов на одного ведущего с макс. 1000 матов, но достаточно небольшое число, чтобы легко разложить конфигурацию слота в виде необработанного растрового изображения. Обратите внимание, что в небольших кластерах битмап будет трудно сжимать, потому что, когда N мало, битмап будет иметь слоты/N бит, заданные большим количеством бит.
- 1. Почему у Redis есть возможности Pub/Sub?
- 2. У коммутатора есть проблемы с логическими аргументами
- 3. Почему у нас есть Redis, когда у нас есть временные таблицы MySQL?
- 4. У Redis есть функция decr, если функция
- 5. У Redis нет dump.rdb только temp.rdb?
- 6. Почему выдает код 16384 вместо 040000?
- 7. Почему у сеансов есть статические таймауты/maxAge
- 8. Почему у меня есть замок?
- 9. Почему у меня есть stackoverflow
- 10. Regex Value 1-16384
- 11. Project Euler 5, ответ у меня есть только половина, почему?
- 12. Почему у вас есть только AlphaNumeric, разрешенный в имени привязки?
- 13. Почему у этого макета есть полосы прокрутки только в IE?
- 14. Почему у меня есть только один номер из этого скрипта?
- 15. Почему у Magento есть только три плоских стола
- 16. Почему у вас всегда есть реквизит ReactClass {} только иногда?
- 17. Почему у ReadProcessMemory есть `lpNumberOfBytesRead`?
- 18. Почему у меня есть NullReferenceException?
- 19. Почему у Ruby есть Numeric.new?
- 20. Почему у argv есть 'v'
- 21. Почему у вас есть «где»
- 22. Почему у Haskell есть Data.Sequence?
- 23. Почему у java есть новые?
- 24. Почему у метакласса есть тип?
- 25. Почему у ResultSet есть NullPointerException?
- 26. Почему у @FunctionalInterface есть удержание RUNTIME?
- 27. Почему у CELERY_ROUTES есть «очередь» и «routing_key»?
- 28. Почему у Android android.graphics.Color есть открытый конструктор?
- 29. Почему у кватернионов есть четыре переменные?
- 30. Почему у тега head есть атрибут runat?
Прочитайте спецификацию - слоты кластера не так, как вы думаете. –