Rust web 开发-7.redis
本篇介绍一下 Rust 如何使用 redis。
Redis 的官方库 https://crates.io/crates/redis
添加依赖
redis = "0.23.3"
连接 redis
let client = redis::Client::open("redis://127.0.0.1/")?;
获取 redis 链接
let connection = client.get_connection().unwrap();
执行 redis 命令
pub fn set_ex(key: String, value: String, seconds: i32) -> bool {
get_redis_conn()
.set_ex::<String, String, bool>(key, value, seconds as usize)
.unwrap_or_else(|err| {
error!("Failed to set_ex value in Redis: {:?}", err);
false
})
}
pub fn get(key: String) -> String {
get_redis_conn()
.get::<String, String>(key)
.unwrap_or_else(|err| {
error!("Failed to get value from Redis: {:?}", err);
"".to_string()
})
}
写了两个命令的实现,一个是 set_ex,一个是 get,api 中调用。
#[get("/set_redis")]
async fn set_redis() -> HttpResponse{
let result = middleware::redis_client::set_ex("hello".to_string(), "hello".to_string(), 100);
success(Some(result))
}
#[get("/get_redis")]
async fn get_redis() -> HttpResponse{
let result = middleware::redis_client::get("hello".to_string());
success(Some(result))
}
测试一下
curl "http://localhost:8099/set_redis" \
-H 'token: 1'
curl "http://localhost:8099/get_redis" \
-H 'token: 1'
在 redis 中查询一下

以上代码在 github。
Copyright © 2015 Powered by MWeb, Theme used GitHub CSS.
