Pet*_* Y. 8 database hashmap redis
总的来说,我对 Redis 和数据库都很陌生。我很困惑何时应该使用 GET/SET 命令以及何时应该创建哈希表并使用 HGET/HSET 命令。
假设我想跟踪商店中各种产品的价格。
使用 GET 和 SET:
SET pencil 3
SET eraser 4
SET calculator 60
GET pencil
GET eraser
GET calculator
Run Code Online (Sandbox Code Playgroud)
使用 HGET 和 HSET:
HSET mystore pencil 3
HSET mystore eraser 4
HSET mystore calculator 60
HGET mystore pencil
HGET mystore eraser
HGET mystore calculator
Run Code Online (Sandbox Code Playgroud)
对于这个商店的例子,哪种方法是首选?使用 GET/SET 命令和使用 HGET/HSET 命令有什么区别?他们的一些用例是什么?
谢谢
Gaw*_*ain 11
哈希用于在 Redis 中存储对象,GET/SET用于存储单个字符串(或int)。
HSET根据您的描述,您的情况与and GET/没有什么不同SET。如果您的 Redis 数据库仅用于mystore对象(或类似的东西),您可以将GET/SET与key一起使用。
如果有多个相似的mystore对象,我建议转换为哈希,因为组织键值会更容易。
为了性能,key-value string和hash都使用dict实现(如果数据集较小, hash将使用ziplist )。所以时间复杂度始终是 O(1)。