gpt4 book ai didi

redis - "GET"之后如何识别Redis中的底层数据结构?

转载 作者:可可西里 更新时间:2023-11-01 11:15:01 26 4
gpt4 key购买 nike

我正在使用 API 从 Redis 获取各种数据并对它们执行不同的操作。对于位图和 HLL,我无法执行此操作,因为它们都存储为字符串并在属于这些数据结构的键上运行 get 我无法区分返回值是来自普通字符串键还是HLL 或位图。

有没有redis命令可以识别返回值属于哪个数据结构的底层数据结构?

最佳答案

不,对于位图和 HLL,无法获取该信息,因为 Redis 不存储它。任何给定的字符串都可能只是一些字符串或位图。每个字符串也是一个有效的位图,每个位图都可以解释为一个字符串。

当然,您可以组合一些启发式方法,但这些方法注定会失败,而且显然非常丑陋。

如果您对数据定义有任何控制权,您可以在 KEY 中对此类信息进行编码。

(之前的,不知情的答案如下)

是的,有 TYPE command :

redis> SET key1 "value"
"OK"
redis> LPUSH key2 "value"
(integer) 1
redis> SADD key3 "value"
(integer) 1
redis> TYPE key1
"string"
redis> TYPE key2
"list"
redis> TYPE key3
"set"

关于redis - "GET"之后如何识别Redis中的底层数据结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52138992/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com