11 unstable releases (3 breaking)
0.3.0 | Dec 1, 2024 |
---|---|
0.2.2 | Oct 19, 2024 |
0.2.0 | Sep 28, 2024 |
0.1.1 | Sep 8, 2024 |
0.0.8 | Aug 25, 2024 |
#1564 in Database interfaces
201 downloads per month
69KB
1.5K
SLoC
Dependencies
spring-redis = { version = "<version>" }
Configuration items
[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
Component
After configuring the above configuration items, the plugin will automatically register a Redis
connection management object. This object is an alias of redis::aio::ConnectionManager
.
pub type Redis = redis::aio::ConnectionManager;
Extract the Component registered by the plugin
The RedisPlugin
plugin automatically registers a connection management object for us. We can use Component
to extract this connection pool from AppState. Component
is an 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))
}
Complete code reference redis-example
Dependencies
~15–27MB
~391K SLoC