Rust Redis中的HSET命令问题

q9yhzks0  于 2023-06-05  发布在  Redis
关注(0)|答案(1)|浏览(127)

我正在尝试将以下Redis命令转换为rust:

HSET book_store_list 1 1,2,3

本质上,创建一个bookstore_list Hash,它有一个Field(1)和一个value(1,2,3),在Redis GUI中运行良好。
问题是rust redis中的hset API似乎不像我想象的那样工作。
例如:

let vector = vec![1,2,3]
hset("book_store_list", 1, &vector)

在book_store_list散列中产生两个Field-Value条目
字段1值1字段2值3
问题是redis rust crate似乎将[1,2,3]向量解释为要缓存的单独值(2和3是一个新的字段值对),而不是一个值。我想知道以前是否有人遇到过这个问题。

kqlmhetl

kqlmhetl1#

相信我找到了答案。为了让Redis接受[1,2,3]作为一个奇异值,我们必须从serde_json crate调用to_string API,如下所示:

let value = serde_json::to_string(&vector).unwrap();

我想这的教训是在rustredis中调用任何HSET命令之前对所有值进行字符化!

相关问题