Skip to main content

sova_redis/
lib.rs

1//! Shared Redis / Valkey pool for Sova (`KvStore`, tasks, cache, pub/sub, list queues).
2//!
3//! ```ignore
4//! app.install(Redis::from_env());
5//! let pool = app.try_state::<RedisPool>().unwrap().as_ref().clone();
6//! pool.publish("events", b"hello").await?;
7//! let mut sub = pool.subscribe(["events"]).await?;
8//! while let Some(msg) = sub.next().await {
9//!     println!("{}: {:?}", msg.channel, msg.payload_str());
10//! }
11//! pool.enqueue("jobs", b"payload").await?;
12//! let item = pool.dequeue("jobs").await?;
13//! ```
14
15mod error;
16mod fake;
17mod messaging;
18mod plugin;
19mod pool;
20
21pub use error::RedisError;
22pub use fake::{FakeRedis, FakeSubscriber};
23pub use messaging::{RedisMessage, RedisSubscriber};
24pub use plugin::Redis;
25pub use pool::{RedisExt, RedisPool};