Redis 2.0.3Хранение огромного рандомизированного списка аналогичных товаров в Redis
Мне нужно хранить огромный список предметов в Redis. Каждый элемент представляет собой короткую строку (менее 256 символов).
мне нужно сделать две операции в списке:
Добавить много (несколько тысяч до миллиона) одинаковых элементов. (Несколько раз в день)
Удалите из списка один случайный элемент. Не обязательно иметь «справедливое» случайное. Любой подход «достаточно хороший» будет делать. (До нескольких сотен раз в секунду)
У меня недостаточно ОЗУ для хранения всех предметов в списке по одному.
Я думаю, что мне нужно хранить предметы в партиях, имени и прилавке. (Там будет до нескольких тысяч отдельных элементов, больше как несколько сотен.)
Но я не уверен, как организовать это эффективно.
Любые подсказки?
Обратите внимание, что вероятности здесь перекошены, так как количество одинаковых предметов не играет никакой роли в шансе получить предмет. Это нормально для моего конкретного случая использования. –
На 2.2 лучше всего использовать WATCH: http://stackoverflow.com/questions/5118807/redis-how-to-atomically-remove-an-item-from-set-if-a-counter-in-another -key-это-б –