Итак, в первую очередь, помните, что PubSub - это доставка не более одного раза. Если вам действительно нужно обрабатывать каждое изменение в клиенте, вам следует подумать о более надежном способе сделать это.
Тем не менее, если вы согласны с обещаниями PubSub, 1 - самое простое, и я бы согласился. Самое большее, я бы предоставил клиентам оболочку Lua, которая объединяет команды SET
и PUBLISH
. Это, разумеется, устраняет необходимость прослушивания уведомлений Keyspace, поскольку вы сами его реализуете.
2 означает взлом Redis, что замечательно, но означает, что вам придется поддерживать свое собственное, то есть -;
3 также достаточно прост, но с 1 вы получаете одну поездку туда и обратно вместо 2.
Другой (4) подход заключается в написании пользовательского модуля, но IMO слишком сложен для этой необходимости. Идите с 1 и Луа, и пусть сила будет с вами.