3 个版本
新 0.0.7 | 2024 年 8 月 21 日 |
---|---|
0.0.6 | 2024 年 8 月 17 日 |
0.0.4 | 2024 年 8 月 7 日 |
#845 在 数据库接口
262 每月下载量
34KB
644 行
依赖项
spring-redis = { version = "0.0.7" }
配置项
[redis]
uri = "redis://127.0.0.1/" # redis database address
# The following are all optional configurations
connection_timeout = 10000 # Connection timeout, in milliseconds
response_timeout = 1000 # Response timeout, in milliseconds
number_of_retries = 6 # Retry times, interval time increases exponentially
exponent_base = 2 # Interval time exponential base, unit milliseconds
factor = 100 # Interval time growth factor, default 100 times growth
max_delay = 60000 # Maximum interval time
组件
配置以上配置项后,插件将自动注册一个 Redis
连接管理对象。此对象是 redis::aio::ConnectionManager
的别名。
pub type Redis = redis::aio::ConnectionManager;
提取插件注册的组件
RedisPlugin
插件会自动为我们注册一个连接管理对象。我们可以使用 Component
从 AppState 中提取这个连接池。 Component
是 axum 的 extractor。
async fn list_all_redis_key(Component(mut redis): Component<Redis>) -> Result<impl IntoResponse> {
let keys: Vec<String> = redis.keys("*").await.context("redis request failed")?;
Ok(Json(keys))
}
完整代码参考 redis-example
(https://github.com/spring -rs/spring-rs/tree/master/examples/redis-example)
依赖项
~13–25MB
~370K SLoC