首页 > 解决方案 > Redis Hget键值是否将哈希内容加载到主内存中

问题描述

我的 java 在单独的 kubernetes pod 上,redis 在单独的 ip 地址上,每个都有各自的内存

在 redis 中创建了一个哈希,如下所示

哈希函数键值。value 是一组字符串

这个哈希函数可以包含数百万的值

现在从 redis 获取它时,我正在使用 Hget 命令 hget hashfunction key

只需要拿到一把钥匙。需要知道此操作是否将仅在 redis 中执行,并且不会将完整的哈希加载到 java 内存中?

标签: javaspring-bootredis

解决方案


您只会收到从密钥中检索到的值;这将在 Redis 中的服务器端解析,并且只有值将被传输回您的 Java 应用程序。Java 应用程序不会看到存储在键下的完整内容,只会看到您正在检索的值。

通过查看协议本身返回的内容,您可以准确了解返回的内容:

redis> HSET myhash field1 "foo"
(integer) 1
redis> HGET myhash field1
"foo"
redis> HGET myhash field2
(nil)
redis> 

推荐阅读