通过命令行获取Redis哈希数据

10

今天我在尝试使用 Redis,已经成功将 Drupal 的缓存值存储了起来。但是我希望进一步调查并查看存储在 cache_my_custom_cache 中的值。

127.0.0.1:6379> keys *
 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> type ff3169bd93659dc31322abc32835ef3e:cache_my_custom_cache:custom_cache_markup
hash
  • 这表明它是散列类型。但当我运行以下命令时:
127.0.0.1:6379> HGET ff3169bd93659dc31322abc32835ef3e:cache_qbe:qbe_markup
(error) ERR wrong number of arguments for 'hget' command

它不喜欢这样!我完全是第一次接触,有人能提供解决方案吗?

2个回答

14

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

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

hkeys ff3169bd93659dc31322abc32835ef3e:cache_my_custom_cache:custom_cache_markup

那么你可以这样做:

hget ff3169bd93659dc31322abc32835ef3e:cache_my_custom_cache:custom_cache_markup FIELD
您可以通过以下方式获取哈希表中的所有值:
hvals ff3169bd93659dc31322abc32835ef3e:cache_my_custom_cache:custom_cache_markup

9

HGET在键名后面需要一个附加参数,该参数枚举了您想要返回的哈希字段。类似这样:

HGET my_hash_key my_hash_field

如果您想一次检索哈希的所有字段,应该使用 HGETALL

HGETALL my_hash_key

HGET 的文档: 这里

HGETALL 的文档: 这里

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接