pub struct RedisPool { /* private fields */ }Expand description
Shared Redis handle filled during on_startup (mirrors [sova_db::DbPool]).
Implementations§
Source§impl RedisPool
impl RedisPool
Sourcepub async fn publish(
&self,
channel: impl AsRef<str>,
message: impl AsRef<[u8]>,
) -> Result<i64, RedisError>
pub async fn publish( &self, channel: impl AsRef<str>, message: impl AsRef<[u8]>, ) -> Result<i64, RedisError>
PUBLISH channel message — returns subscriber count that received it.
Sourcepub async fn subscribe(
&self,
channels: impl IntoIterator<Item = impl AsRef<str>>,
) -> Result<RedisSubscriber, RedisError>
pub async fn subscribe( &self, channels: impl IntoIterator<Item = impl AsRef<str>>, ) -> Result<RedisSubscriber, RedisError>
Open a dedicated Pub/Sub connection and subscribe to channels.
Requires the pool URL (set by the crate::Redis plugin). Do not reuse
the shared command connection for subscribe.
Sourcepub async fn psubscribe(
&self,
patterns: impl IntoIterator<Item = impl AsRef<str>>,
) -> Result<RedisSubscriber, RedisError>
pub async fn psubscribe( &self, patterns: impl IntoIterator<Item = impl AsRef<str>>, ) -> Result<RedisSubscriber, RedisError>
Pattern subscribe (PSUBSCRIBE), e.g. events:*.
Sourcepub async fn enqueue(
&self,
queue: impl AsRef<str>,
message: impl AsRef<[u8]>,
) -> Result<i64, RedisError>
pub async fn enqueue( &self, queue: impl AsRef<str>, message: impl AsRef<[u8]>, ) -> Result<i64, RedisError>
Push onto a list queue (LPUSH). Returns new list length.
Source§impl RedisPool
impl RedisPool
pub fn new() -> Self
pub fn is_fake(&self) -> bool
pub fn fake(&self) -> Option<Arc<FakeRedis>>
pub fn set_fake(&self, fake: FakeRedis)
Sourcepub fn set_url(&self, url: impl Into<String>)
pub fn set_url(&self, url: impl Into<String>)
Remember REDIS_URL so Pub/Sub can open a dedicated connection.
pub fn url(&self) -> Result<String, RedisError>
pub fn set(&self, conn: ConnectionManager)
pub fn get(&self) -> Result<ConnectionManager, RedisError>
pub fn clear(&self)
Sourcepub async fn connect(url: &str) -> Result<ConnectionManager, RedisError>
pub async fn connect(url: &str) -> Result<ConnectionManager, RedisError>
Connect and ping; used by the plugin and tests.
pub async fn subscribe_fake( &self, channel: impl AsRef<str>, ) -> Result<FakeSubscriber, RedisError>
Trait Implementations§
Auto Trait Implementations§
impl Freeze for RedisPool
impl RefUnwindSafe for RedisPool
impl Send for RedisPool
impl Sync for RedisPool
impl Unpin for RedisPool
impl UnsafeUnpin for RedisPool
impl UnwindSafe for RedisPool
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more