Skip to main content

qail_redis/
lib.rs

1//! QAIL driver for Redis - ephemeral state and caching.
2//!
3//! ⚠️ **PROTOTYPE** - Early development.
4//!
5//! "Redis stores time — QAIL decides."
6//!
7//! Uses the unified Qail AST from qail-core with Redis-specific actions.
8//!
9//! # Example
10//! ```ignore
11//! use qail_redis::{RedisDriver, RedisExt};
12//! use qail_core::prelude::*;
13//!
14//! let mut driver = RedisDriver::connect("localhost", 6379).await?;
15//!
16//! // Unified QAIL AST
17//! driver.execute(&Qail::redis_set("session:123", b"data".to_vec()).redis_ex(3600)).await?;
18//! let value = driver.execute(&Qail::redis_get("session:123")).await?;
19//! ```
20
21pub mod cmd;
22pub mod decoder;
23pub mod driver;
24pub mod encoder;
25pub mod error;
26pub mod pool;
27pub mod transport;
28pub mod value;
29
30// Re-export the RedisExt trait for fluent methods
31pub use cmd::RedisExt;
32pub use driver::RedisDriver;
33pub use error::{RedisError, RedisResult};
34pub use pool::{RedisPool, PoolConfig};
35pub use value::Value;
36
37/// Re-export qail-core prelude for convenience.
38pub mod prelude {
39    pub use qail_core::prelude::*;
40    pub use crate::{RedisDriver, RedisError, RedisResult, RedisExt, Value};
41    pub use crate::{RedisPool, PoolConfig};
42}