通过cli获取redis hash数据
Get redis hash data via cli
我今天一直在试验 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' 命令的参数数量错误
不喜欢!对此完全陌生,有人可以提供解决方案吗?
HGET
期望在键名后有一个附加参数,用于枚举您希望返回的散列的哪个字段。像这样:
HGET my_hash_key my_hash_field
如果您尝试一次检索哈希的所有字段,您应该使用 HGETALL
:
HGETALL my_hash_key
HGET
的文档:here
HGETALL
的文档:here
Redis 类型(包括哈希)的讨论:here
除了密钥,您还需要在 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
我今天一直在试验 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' 命令的参数数量错误
不喜欢!对此完全陌生,有人可以提供解决方案吗?
HGET
期望在键名后有一个附加参数,用于枚举您希望返回的散列的哪个字段。像这样:
HGET my_hash_key my_hash_field
如果您尝试一次检索哈希的所有字段,您应该使用 HGETALL
:
HGETALL my_hash_key
HGET
的文档:here
HGETALL
的文档:here
Redis 类型(包括哈希)的讨论:here
除了密钥,您还需要在 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