redis get/set和哈希表之间的差异

brqmpdu1  于 2021-06-08  发布在  Redis
关注(0)|答案(1)|浏览(598)

我对redis和数据库都是新手。我不知道什么时候应该使用get/set命令,什么时候应该创建哈希表并使用hget/hset命令。
假设我想跟踪商店里各种产品的价格。
使用get和set:

SET pencil 3
SET eraser 4
SET calculator 60

GET pencil
GET eraser
GET calculator

使用hget和hset:

HSET mystore pencil 3
HSET mystore eraser 4
HSET mystore calculator 60

HGET mystore pencil
HGET mystore eraser
HGET mystore calculator

对于本商店示例,首选哪种方法?使用get/set命令和使用hget/hset命令有什么区别?它们的一些用例是什么?
谢谢

fcy6dtqo

fcy6dtqo1#

hash用于存储redis中的对象,get/set用于存储单个字符串(或int)。
根据您的描述,在您的情况下,hset和get/set没有什么不同。如果您的redis db仅用于mystore对象(或类似的对象),那么您可以使用get/set with key。
如果有多个类似的mystore对象,我建议将其转换为hash,因为组织键值要容易得多。
为了提高性能,key-value-string和hash都由dict实现(如果数据集很小,hash将使用ziplist)。所以它总是o(1)时间复杂度。

相关问题