pub struct RedisStreamsConfig {Show 14 fields
pub url: String,
pub stream: Option<String>,
pub group: Option<String>,
pub consumer_name: Option<String>,
pub subscriber_mode: bool,
pub block_ms: Option<u64>,
pub read_from_start: bool,
pub redelivery_timeout_ms: Option<u64>,
pub maxlen: Option<usize>,
pub approx_trim: Option<bool>,
pub username: Option<String>,
pub password: Option<String>,
pub internal_buffer_size: Option<usize>,
pub reader_connections: Option<usize>,
}Expand description
Configuration for a Redis Streams endpoint.
Publishers XADD to the stream; consumers read via a consumer group
(XREADGROUP + XACK) by default, or ephemerally via XREAD from new
messages when subscriber_mode is set.
Fields§
§url: StringRedis URL, redis:// or rediss:// for TLS. Userinfo is treated as a secret.
stream: Option<String>The stream key to publish to or read from. Defaults to the route name.
group: Option<String>(Consumer) Group name. Defaults to {APP_NAME}-{stream}; ignored in subscriber_mode.
consumer_name: Option<String>(Consumer) Consumer name within the group. Defaults to a unique per-instance id.
subscriber_mode: bool(Consumer) Read ephemerally via XREAD from new messages (no group/acks). Default false.
block_ms: Option<u64>(Consumer) Block timeout in milliseconds for each read. Defaults to 5000ms.
read_from_start: bool(Consumer) On group creation, start from the stream beginning (“0”) not “$”. Default false.
redelivery_timeout_ms: Option<u64>(Consumer) Redeliver entries pending ≥ this long via XAUTOCLAIM; 0 disables. Default 60000ms.
maxlen: Option<usize>(Publisher) If set, cap the stream length with XADD MAXLEN.
approx_trim: Option<bool>(Publisher) Use approximate (~) trimming when maxlen is set. Defaults to true.
username: Option<String>Optional username for authentication (Redis ACL).
password: Option<String>Optional password for authentication.
internal_buffer_size: Option<usize>Internal buffer size for the consumer channel. Defaults to 128.
reader_connections: Option<usize>(Consumer) Parallel XREADGROUP reader connections fanned out across the group. Default 1.
Ignored in subscriber_mode.
Implementations§
Source§impl RedisStreamsConfig
impl RedisStreamsConfig
Sourcepub fn new(url: impl Into<String>) -> Self
pub fn new(url: impl Into<String>) -> Self
Creates a new Redis Streams configuration with the specified URL.
pub fn with_stream(self, stream: impl Into<String>) -> Self
pub fn with_group(self, group: impl Into<String>) -> Self
pub fn with_subscriber(self, subscriber: bool) -> Self
pub fn with_reader_connections(self, connections: usize) -> Self
Trait Implementations§
Source§impl Clone for RedisStreamsConfig
impl Clone for RedisStreamsConfig
Source§fn clone(&self) -> RedisStreamsConfig
fn clone(&self) -> RedisStreamsConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more