当前位置: 首页 > 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);

在这里插入图片描述

相关文章:

【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…...

OpenCV 图像重映射函数remap()实例详解

OpenCV 图像重映射函数remap()对图像应用通用几何变换。其原型如下&#xff1a; void remap(InputArray src, OutputArray dst, InputArray map1, InputArray map2, int interpolation&#xff0c; int borderMode BORDER_CONSTANT&#xff0c; const Scalar & borde…...

Python基础课堂最后一课23——正则对象

文章目录 前言一、正则对象是什么&#xff1f;二、正则表达式基本分类1.普通字符2.元字符 总结 前言 很开心能和你们一些学习进步&#xff0c;在这一个多月的时间中&#xff0c;是你们让我坚持了下来&#xff0c;完成了python基础课堂编写&#xff0c;不管如何&#xff0c;我们…...

【算法训练营】凸包,图(Python实现)

凸包 描述 给定n个二维平面上的点&#xff0c;求他们的凸包。 输入 第一行包含一个正整数n。 接下来n行&#xff0c;每行包含两个整数x,y&#xff0c;表示一个点的坐标。 输出 令所有在凸包极边上的点依次为p1,p2,...,pm&#xff08;序号&#xff09;&#xff0c;其中m表…...

webpack5零基础入门-6webpack处理图片资源

1.在webpack5中file-loader和url-loader为内置模块 通过在加载器中配置rule即可激活 {test: /\.(png|jpe?g|gif|webp)$/,type: asset} 2.使用webpack进行打包 执行npx webpack 可以看到图片资源打包后都被放到了dist文件目录下 3.使用webpack进行图片格式转换为base64 优势…...

计算机基础知识QA

目录 数据库 --mysql 关联查询 唯一索引如何创建&#xff0c;语句 更新表字段语句 查看字段类型 --redis 使用场景 数据结构 设置超时时间 linux 常用命令 发布版本 安装一个东西&#xff0c;发现一个东西安装的很慢&#xff0c;如何切换ip地的源&#xff1f;-&g…...

微信小程序一次性订阅requestSubscribeMessage授权和操作详解

一次性订阅&#xff1a;用户订阅一次发一次通知 一、授权 — requestSubscribeMessage Taro.requestSubscribeMessage({tmplIds: [], // 需要订阅的消息模板的id的集合success (res) {console.log("同意授权", res)},fail(res) {console.log(拒绝授权, res)}})点击或…...

ARM 汇编指令:(三)运算处理指令

目录 一.add指令 二.sub指令 三.MUL指令 一.add指令 add用于执行实现两个寄存器或寄存机或寄存器与立即数的相加操作。它可以用于整数、浮点数等各种数据类型的加法运算。 ADD{cond}{S} Rd,操作数,操作数 1.不带进位加法指令add add r1, r2, #4 //r1 r2 4 add r1, r2 …...

【C++庖丁解牛】STL简介 | string容器初次见面

&#x1f341;你好&#xff0c;我是 RO-BERRY &#x1f4d7; 致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 &#x1f384;感谢你的陪伴与支持 &#xff0c;故事既有了开头&#xff0c;就要画上一个完美的句号&#xff0c;让我们一起加油 目录 1. 什么是STL2. STL的版本…...

记OnlyOffice的两个大坑

开发版&#xff0c;容器部署&#xff0c;试用许可已安装。 word&#xff0c;ppt&#xff0c;excel均能正常浏览。 自带的下载菜单按钮能用。 但config里自定义的downloadAs方法却不一而足。 word能正常下载&#xff0c;excel和ppt都不行。 仔细比对调试了代码。发现app.js…...

分享几个Google Chrome谷歌浏览器历史版本下载网站

使用selenium模块的时候&#xff0c;从官网下载的谷歌浏览器版本太高&#xff0c;驱动不支持&#xff0c;所以需要使用历史的谷歌浏览器版本 &#xff0c;这里备份一下以防找不到了。 驱动下载地址&#xff1a;https://registry.npmmirror.com/binary.html?pathchromedriver 文…...

备考2025年AMC8竞赛:吃透2000-2024年600道真题(免费赠送真题)

我们继续来随机看五道AMC8的真题和解析&#xff0c;根据实践经验&#xff0c;对于想了解或者加AMC8美国数学竞赛的孩子来说&#xff0c;吃透AMC8历年真题是备考最科学、最有效的方法之一。 即使不参加AMC8竞赛&#xff0c;吃透了历年真题600道和背后的知识体系&#xff0c;那么…...

考研复试C语言篇

第一章 概述 1.1什么是程序 为了让计算机执行某些操作或解决某个问题而编写的一系列有序指令的合集。 1.4C语言的特点 代码级别的跨平台&#xff1a;由于标准的存在&#xff0c;使得几乎同样的C代码可用于多种操作系统&#xff0c;也适用于多种机型。使允许直接访问物理地址…...

Docker架构深度解析:守护进程、客户端与存储驱动的协同作战(下)

&#x1f407;明明跟你说过&#xff1a;个人主页 &#x1f3c5;个人专栏&#xff1a;《Docker幻想曲&#xff1a;从零开始&#xff0c;征服容器宇宙》 &#x1f3c5; &#x1f516;行路有良友&#xff0c;便是天堂&#x1f516; 目录 四、命名空间和控制组 1、Linux命名空…...

【强化学习笔记一】初识强化学习(定义、应用、分类、性能指标、小车上山案例及代码)

文章目录 第1章 初识强化学习1.1 强化学习及其关键元素1.2 强化学习的应用1.3 强化学习的分类1.3.1 按任务分类1.3.2 按算法分类 1.4 强化学习算法的性能指标1.5 案例&#xff1a;基于Gym库的智能体/环境接口1.5.1 安装Gym库1.5.2 使用Gym库1.5.3 小车上山1.5.3.1 有限动作空间…...

安卓面试准备汇总

java相关 面试-java基础相关-CSDN博客 android 基础相关 安卓基础面试题-CSDN博客 kotlin相关 android pms,cms,wms相关知识 android fragmework层的知识 项目相关的...

C#+datax实现定时增量同步

要使用C#和DataX实现定时增量同步&#xff0c;你可以使用以下步骤&#xff1a; 1. 安装DataX&#xff1a;首先&#xff0c;确保你已经安装了DataX。你可以从DataX的官方仓库中获取最新版本。 2. 配置DataX 任务&#xff1a;创建一个DataX任务&#xff0c;定义源&#xff08;sou…...

VUE实现Provide的计算属性

通过此篇可以学到&#xff1a; 如何使用Providerinject进行“跨代”传值如何实现一个计算属性的Provider如何解决告警“injection "xxxxx" not found. ” 一、描述 目前需要创建一个计算属性传入Provide&#xff0c;并且能够被其他组件Inject 二、实现 父组件 .…...

Spring Schedule:Spring boot整合Spring Schedule实战讲解定时发送邮件的功能

&#x1f389;&#x1f389;欢迎光临&#xff0c;终于等到你啦&#x1f389;&#x1f389; &#x1f3c5;我是苏泽&#xff0c;一位对技术充满热情的探索者和分享者。&#x1f680;&#x1f680; &#x1f31f;持续更新的专栏《Spring 狂野之旅&#xff1a;从入门到入魔》 &a…...

Midjourney绘图欣赏系列(十)

Midjourney介绍 Midjourney 是生成式人工智能的一个很好的例子&#xff0c;它根据文本提示创建图像。它与 Dall-E 和 Stable Diffusion 一起成为最流行的 AI 艺术创作工具之一。与竞争对手不同&#xff0c;Midjourney 是自筹资金且闭源的&#xff0c;因此确切了解其幕后内容尚不…...

如何用XUnity.AutoTranslator实现Unity游戏实时翻译:新手完全指南

如何用XUnity.AutoTranslator实现Unity游戏实时翻译&#xff1a;新手完全指南 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 你是否曾经因为语言障碍而错过精彩的Unity游戏&#xff1f;XUnity.AutoTrans…...

魔兽争霸3帧率优化完全指南:从技术原理到实战调优

魔兽争霸3帧率优化完全指南&#xff1a;从技术原理到实战调优 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 一、性能瓶颈诊断&#xff1a;定位魔兽争…...

qmcdump:三分钟解锁你的QQ音乐加密音频文件

qmcdump&#xff1a;三分钟解锁你的QQ音乐加密音频文件 【免费下载链接】qmcdump 一个简单的QQ音乐解码&#xff08;qmcflac/qmc0/qmc3 转 flac/mp3&#xff09;&#xff0c;仅为个人学习参考用。 项目地址: https://gitcode.com/gh_mirrors/qm/qmcdump 你是否曾下载过Q…...

YOLOE镜像从入门到精通:环境激活、代码预测、训练微调全流程

YOLOE镜像从入门到精通&#xff1a;环境激活、代码预测、训练微调全流程 1. 镜像环境准备与快速启动 1.1 环境配置检查 YOLOE官方镜像已经预装了所有必要的依赖项和工具链&#xff0c;确保开发者可以立即开始工作而无需担心环境配置问题。以下是关键环境信息&#xff1a; 项…...

前有张雪峰,后有张雪——这难道是天意-他们的成功最大的特点就是把事情做到极致,你只要坚持,就可能会成功!-你不坚持,不热爱,不可能会成功!-为什么摩托车发动机可以弯道超车,汽车不可以?到底中国汽车的发

前有张雪峰,后有张雪——这难道是天意-他们的成功最大的特点就是把事情做到极致,你只要坚持,就可能会成功!-你不坚持,不热爱,不可能会成功!-为什么摩托车发动机可以弯道超车,汽车不可以?到底中国汽车的发动机质量如何? 前有张雪峰,后有张雪——这难道是天意-他们的成…...

5分钟搞定!cv_unet_image-matting图像抠图WebUI快速抠图技巧

5分钟搞定&#xff01;cv_unet_image-matting图像抠图WebUI快速抠图技巧 1. 为什么选择这款AI抠图工具 在电商设计、社交媒体运营、证件照处理等场景中&#xff0c;高质量图像抠图是刚需。传统手动抠图不仅耗时耗力&#xff0c;对技术要求也高。而这款基于U-Net架构的AI抠图工…...

OpenClaw夜间模式:Qwen3.5-9B定时爬取竞品数据并生成报告

OpenClaw夜间模式&#xff1a;Qwen3.5-9B定时爬取竞品数据并生成报告 1. 为什么需要夜间自动化竞品监控 作为独立开发者&#xff0c;我长期被一个问题困扰&#xff1a;每天早晨打开电脑&#xff0c;总需要花1-2小时手动收集各平台的竞品动态。直到发现OpenClaw可以配合Qwen3.…...

基于GEC6818的智能车库管理系统设计与优化

1. 项目概述与背景智能车库管理系统是当前城市停车管理领域的重要技术革新方向。传统停车场普遍存在人工收费效率低、排队时间长、管理成本高等痛点。我们基于GEC6818嵌入式开发板开发的这套系统&#xff0c;通过整合车牌识别、RFID支付、数据库管理等技术模块&#xff0c;实现…...

搞电机控制的兄弟应该都懂,无感算法里磁链观测器+PLL锁相环的组合有多香。今天直接上干货,聊聊非线性磁链观测器的实现套路和实操中那些让你少掉几根头发的技巧

永磁同步电机非线性磁链无感算法、Flux观测器锁相环PLL仿真模型 flux&#xff1a;计算电机磁链&#xff0c;目的为了使得估计的磁链收敛于实际磁链&#xff1b; pll&#xff1a;通过估计磁链计算经过pi调节后使得估计角度跟踪实际角度 模型描述及资料&#xff1a; &#xff08;…...

零基础玩转OpenClaw:Phi-3-mini-128k-instruct镜像云端体验

零基础玩转OpenClaw&#xff1a;Phi-3-mini-128k-instruct镜像云端体验 1. 为什么选择云端体验OpenClaw 作为一个长期关注AI自动化工具的技术爱好者&#xff0c;我一直在寻找一个既强大又易于上手的本地AI助手框架。OpenClaw的出现让我眼前一亮&#xff0c;但第一次尝试本地安…...