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

【Java,Redis】Redis 数据库存取字符串数据以及类数据

1、 字符串存取数据

@Resource
private StringRedisTemplate stringRedisTemplate;
//从Redis中获取string字符串
stringRedisTemplate.opsForValue().get("cache:shop:"+id);
//Json -> class
Shop shop = JSONUtil.toBean(ShopJson,Shop.class);
//字符串写入redis
stringRedisTemplate.opsForValue().set("cache:shop:"+id);

2、 hash对象存取

//将类转成map,再将其key和value全转成string进行存取
Map<String,Object> userMap = BeanUtil.beanToMap(userDTO,new HashMap<>(), CopyOptions.create().setIgnoreNullValue(true).setFieldValueEditor((fieldName,fieldValue)->fieldValue.toString()));
stringRedisTemplate.opsForHash().putAll(key,value);

Map<Object,Object> userMap = stringRedisTemplate.opsForHash().entries(key);
UserDTO user = BeanUtil.fillBeanWithMap(userMap, new UserDTO(),FALSE);

3、 List对象存取
首先,我们要用java在redis里面存list数据,得先了解你要在redis里面存怎么样的数据,上面hash对象存的时候。
hash对象是这样的,一个key值,类似于存储一个对象。
在这里插入图片描述
在这里插入图片描述
hash是value里面还有key,value。
而list是

在这里插入图片描述
Key后面加类似字符串的东西。所以不能直接用对象列表存储。所以,我选择直接Json数据存在redis里面。
StringRedisTemplate 用来操作redis。
从Redis中提取数据:String shopTypeJSON = stringRedisTemplate.opsForValue().get(key);

我们要知道,我们从mysql中提取的数据类型是 List类型,所以在存到Redis中的时候要将list转成json。
将数据要存到Redis: stringRedisTemplate.opsForValue().set(key,JSONUtil.toJsonStr(shopTypes));
到这里,最关键的是存到redis中的是json,而后端传到前端页面又可能是list。所以这里要将json转成list。

List<T> shopTypes = JSONUtil.toList(json,T.class);

在这里插入图片描述

http://www.lryc.cn/news/317503.html

相关文章:

  • OpenCV 图像重映射函数remap()实例详解
  • Python基础课堂最后一课23——正则对象
  • 【算法训练营】凸包,图(Python实现)
  • webpack5零基础入门-6webpack处理图片资源
  • 计算机基础知识QA
  • 微信小程序一次性订阅requestSubscribeMessage授权和操作详解
  • ARM 汇编指令:(三)运算处理指令
  • 【C++庖丁解牛】STL简介 | string容器初次见面
  • 记OnlyOffice的两个大坑
  • 分享几个Google Chrome谷歌浏览器历史版本下载网站
  • 备考2025年AMC8竞赛:吃透2000-2024年600道真题(免费赠送真题)
  • 考研复试C语言篇
  • Docker架构深度解析:守护进程、客户端与存储驱动的协同作战(下)
  • 【强化学习笔记一】初识强化学习(定义、应用、分类、性能指标、小车上山案例及代码)
  • 安卓面试准备汇总
  • C#+datax实现定时增量同步
  • VUE实现Provide的计算属性
  • Spring Schedule:Spring boot整合Spring Schedule实战讲解定时发送邮件的功能
  • Midjourney绘图欣赏系列(十)
  • 【C语言】人生重开模拟器
  • 船舶AIS监控网络-船位信息查询:实时查询船舶动态,服务于船舶安全航行管理、港口调度计划、物流、船代、货代。【AIS动态信息编写船舶轨迹】
  • Axios 中的文件上传(Upload File)方法
  • 机试:数塔路径
  • ROS2中launch编写及参数含义(xml、python)
  • 鸿蒙Socket通信示例(TCP通信)
  • yolov5-v6.0详细解读
  • FPGA - 单总线协议(one-wire)
  • python的函数与类的定义
  • Parade Series - WebRTC ( < 300 ms Low Latency ) T.B.D
  • 【ARM】MDK在programming algorithm界面添加FLM