我有一些数据存储在 redis 缓存中,我的应用程序将在 Rust 中读取这些数据。数据由python存储。每当我存储一个字符串或一个数组时,它都会以一种我无法读入 Rust 的奇怪形式存储它。反之亦然,我想从 Rust 编写并能够在 python 中读取它。
使用 django 外壳:
In [0]: cache.set("test","abc")
In [1]: cache.get("test")
Out[1]:'abc'
使用 redis-cli:
127.0.0.1:6379> GET :1:test
"\x80\x04\x95\a\x00\x00\x00\x00\x00\x00\x00\x8c\x03abc\x94."
生锈的输出:
Err(Invalid UTF-8)
Rust 代码使用 redis-rs 库读取数据:
let client = redis::Client::open("redis://127.0.0.1:6379")?;
let mut con = client.get_connection()?;
let q:Result<String, redis::RedisError> = con.get(":1:test");
println!("{:?}",q);
我希望能够将字符串或数组读入 Rust,因为它是用 Python 编写的,反之亦然。此外,一个键中的数据只能由 Rust 或 Python 写入,而不是两者。
这个问题不是这个问题的重复,因为它专门针对重音编码,但是,我也想解决我的数组问题。此外,django 在 redis 中为字符串设置的值不仅仅是字符串的 UTF 编码。