Client that allows subscribing to Redis channel messages.
Usually retrieved from components::Redis component.
Callback for each received message is called only after the execution of callback for previous message has finished. For parallel message processing use the utils::Async().
- Warning
- Messages can be received in any order due to Redis sharding. Sometimes messages can be duplicated due to subscriptions rebalancing. Some messages may be lost (it's a Redis limitation).
-
The first callback execution can happen before
Subscribe()
or Psubscribe()
return as it happens in a separate task.
- Note
- a good GMock-based mock for this class can be found here: userver/storages/redis/mock_subscribe_client.hpp
Definition at line 42 of file subscribe_client.hpp.