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