通过CLI获取Redis哈希数据

wil*_*wen 3 redis

我今天一直在尝试Redis。我已经设法存储了Drupal的缓存值,但是我想进一步研究一下并查看存储在cache_my_custom_cache..中的值。

127.0.0.1:6379>键*
 1)“ ff3169bd93659dc31322abc32835ef3e:cache_bootstrap:lookup_cache”
 2)“ ff3169bd93659dc31322abc32835ef3e:cache_bootstrap:module_implements”
 3)“ ff3169bd93659dc31322abc32835ef3e:cache_bootstrap:bootstrap_modules”
 4)“ ff3169bd93659dc31322abc32835ef3e:cache_bootstrap:system_list”
 5)“ ff3169bd93659dc31322abc32835ef3e:cache_bootstrap:variables”
 6)“ ff3169bd93659dc31322abc32835ef3e:path:a:und”
 7)“ myhash”
 8)“ ff3169bd93659dc31322abc32835ef3e:path:s:und”
 9)“ ff3169bd93659dc31322abc32835ef3e:cache_my_custom_cache:custom_cache_markup”
10)“ ff3169bd93659dc31322abc32835ef3e:cache_bootstrap:hook_info”
127.0.0.1:6379>类型ff3169bd93659dc31322abc32835ef3e:cache_my_custom_cache:custom_cache_markup
杂凑
  • 这表明它是哈希类型。但是当我运行时:
127.0.0.1:6379> HGET ff3169bd93659dc31322abc32835ef3e:cache_qbe:qbe_markup
(错误)ERR错误的“ hget”命令参数数目

它不喜欢它!对此完全陌生,有人可以提供解决方案吗?

rch*_*ang 5

HGET在键名之后需要一个附加参数,用于枚举您希望返回的哈希字段。像这样的东西:

HGET my_hash_key my_hash_field
Run Code Online (Sandbox Code Playgroud)

如果您尝试一次检索哈希的所有字段,则应使用HGETALL

HGETALL my_hash_key
Run Code Online (Sandbox Code Playgroud)

文档HGET这里

文档HGETALL这里

Redis 类型的讨论(包括哈希):这里


Tit*_*iti 5

除了密钥,您还需要在HGET命令中指定字段。

要获取哈希中所有字段的列表,可以运行以下命令:

hkeys ff3169bd93659dc31322abc32835ef3e:cache_my_custom_cache:custom_cache_markup
Run Code Online (Sandbox Code Playgroud)

然后,您可以执行以下操作:

hget ff3169bd93659dc31322abc32835ef3e:cache_my_custom_cache:custom_cache_markup FIELD
Run Code Online (Sandbox Code Playgroud)

您还可以像这样获取哈希中的所有值:

hvals ff3169bd93659dc31322abc32835ef3e:cache_my_custom_cache:custom_cache_markup
Run Code Online (Sandbox Code Playgroud)