当前位置: 首页 > news >正文

stringRedisTemplate.opsForHash().entries

Redis Hash 操作详解

一、entries() 方法

1. 基本作用
Map<Object,Object> userMap=stringRedisTemplate.opsForHash().entries(key);

作用:获取 Hash 中所有的字段和值,返回一个 Map。

2. 简单理解

Redis Hash存储:
{
"id": "1",
"nickName": "张三",
"icon": "xxx"
}

↓ entries()方法

返回Map:
{
"id": "1",
"nickName": "张三",
"icon": "xxx"
}

解释为什么需要转换

二、本质区别

1. Redis Hash(Redis 的数据结构)

Redis Hash = Redis数据库中的数据
- 存储在Redis服务器中
- Java代码不能直接使用
- 需要通过Redis客户端操作

2. Java Map(Java 的数据结构)

Java Map = Java程序中的数据结构
- 存储在Java程序的内存中
- Java代码可以直接使用
- 可以直接操作

三、为什么需要转换?

1. 不同系统之间的数据

Redis Hash(Redis服务器)
↓ entries()方法(转换)
Java Map(Java程序)
↓ 使用
Java代码可以直接操作

2. 用生活例子理解

Redis Hash = 银行里的钱(存在银行)
Java Map = 你手里的现金(可以花)

entries() = 从银行取钱,变成现金

四、实际执行过程

步骤1:Redis 中存储(Hash 结构)

Redis服务器中:
Key: "login:token:abc123"
Value (Hash): {
"id": "1",
"nickName": "张三",
"icon": "xxx"
}

这是 Redis 的数据,Java 代码不能直接使用。

步骤2:通过 entries() 获取并转换

Map<Object,Object> userMap = stringRedisTemplate.opsForHash()

    .entries("login:token:abc123");

执行过程:

  1. Java 程序向 Redis 发送请求
  2. Redis 返回 Hash 数据
  3. entries() 把 Redis 的 Hash 转换成 Java 的 Map
  4. 返回 Java Map 对象
步骤3:Java 代码使用 Map
// 现在userMap是Java的Map,可以直接使用
UserDTO userDTO = BeanUtil.fillBeanWithMap(userMap, new UserDTO(), false);
// ↑ 这里可以直接用Java的方法操作

五、转换的必要性

1. 系统之间的桥梁

Redis(数据库系统)
↓ entries()(转换方法)
Java(编程语言)
↓ 使用
Java代码可以直接操作

2. 数据格式转换

Redis Hash格式 → Java Map格式
(Redis能理解的)  (Java能理解的)

总结

  • 虽然看起来一样,但 Redis Hash 和 Java Map 是不同系统的数据结构
  • entries() 的作用是把 Redis 的数据转换成 Java 能用的格式
  • 转换后,Java 代码才能直接操作这些数据
  • 这是不同系统之间数据交互的必要步骤

简单记忆:

  • Redis Hash = 银行里的钱(需要取出来)
  • Java Map = 手里的现金(可以直接用)
  • entries() = 从银行取钱(转换成现金)
http://www.dtcms.com/a/585665.html

相关文章:

  • 深圳做自适应网站网站开发案例教程
  • 做网站需要注册公司吗360网站安全在线检测
  • node_exporter安装
  • 解读USCAR-2-7-2020
  • 日志消息的输出及落地
  • 基于SpringBoot的流浪动物救助管理系统【协同过滤推荐算法+可视化统计】
  • Redis的主从复制哨兵机制详解
  • 拟采用建站技术长沙最新死亡事件
  • Java面向对象三大特性详解:封装、继承、多态与接口
  • 力扣(LeetCode) ——209. 长度最小的子数组(C++)
  • tcp关闭的四次挥手
  • 基于HAL库实现CAN通信RS485通信WIFI模块和4G模块的AT指令和TCP透传
  • 采购网站有哪些东莞百度推广优化排名
  • 黄石网站设计公司网站都必须要备案吗
  • 36.华为云计算类服务实践
  • 长沙网站制作合作商网站更改文章标题
  • 【赵渝强老师】使用Helm简化Kubernetes(K8s)应用的部署和管理
  • 网页设计与制作教程期末考试东莞网络优化公司排名
  • docker打包,启动java程序
  • Debian 13 安装 Kubernetes 最新版 并使用 containerd 运行时
  • 通过操作地址,来进行STM32的写入GPIO端口值
  • 压力测试详解
  • 网站 怎么备案佛山营销型网站设计
  • 网站关键字被百度收录外链群发
  • Qt点击信号全解析:QTreeWidget交互指南
  • C++ 头文件:语言功能的 “模块化工具箱”(第三章)
  • 系统架构设计师学习大纲目录
  • 网站建设百度推广说词网站服务器在本地是指
  • Highcharts 3D图:深入解析与实际应用
  • 全景图制作工具( 10 种)