java客户端连接redis并设置序列化处理

1、导入依赖

<!--继承父依赖-->
<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.3.12.RELEASE</version><relativePath/> <!-- lookup parent from repository -->
</parent><dependencies><!--spring-data-redis依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis-reactive</artifactId></dependency><!--springboot依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><!--连接池依赖--><dependency><groupId>org.apache.commons</groupId><artifactId>commons-pool2</artifactId></dependency><!--junit依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>io.projectreactor</groupId><artifactId>reactor-test</artifactId><scope>test</scope></dependency><!--json与java对象转换依赖--><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId></dependency></dependencies>


2、yml配置


spring-data-redis集成了lettuce(线程安全)和jedis(线程不安全),这里配置的是lettuce,两者均为Redis的客户端。

spring:redis:port: 6379host: localhostpassword:lettuce:pool:max-active: 8max-idle: 0min-idle: 0max-wait: 100ms
# 最大空闲连接 (maxIdle):这个参数指定了连接池中可以保持的最大空闲连接数。
#当连接池中的连接数量超过这个值时,多余的空闲连接将被回收。如果你的应用程序具有较高的并发连接数量,
#你可以适当增大这个值,以便连接池中始终保持足够的可用连接。
# 最小空闲连接 (minIdle):这个参数指定了连接池中默认保持的最小空闲连接数。\
#当连接池中的空闲连接数量低于这个值时,连接池会创建新的连接来补充空闲连接的数量。
#这样可以避免每次需要连接时都创建新的连接,提高性能和响应速度。你可以根据你的应用程序的需要适当地调整这个值。

image.png

image.png


3、RedisTemplate


RedisTemplate是Spring Data Redis框架提供的一个用于与Redis数据库交互的核心工具类。它提供了一系列用于操纵Redis数据库的方法,可以方便地进行数据存储、读取和删除操作。通过RedisTemplate,开发者可以使用一种更高级别的抽象来操纵Redis数据库,而不必与低级的Redis命令打交道。同时,RedisTemplate也提供了与Spring框架无缝集成的功能,使得在Spring应用中使用Redis变得更加方便。
但是直接使用这个操作工具类,会出现下面这中情况

image.png


而且在redis可视化端查看是二进制字符

image.png


这个工具类会默认使用jdk默认的序列化方式


4、改进方式:StringRedisTemplate


StringRedisTemplate是Spring Data Redis框架提供的一个封装Redis String类型数据操作的工具类。它是RedisTemplate的一个具体实现,专门用于操作Redis中的字符串数据(String类型)

@Test//redis中写入字符串
public  void  redisTest(){stringRedisTemplate.opsForValue().set("name", "duhong");String name =stringRedisTemplate.opsForValue().get("name");System.out.println(name);
}
@Test//redis中写入对象,将对象转成json字符串再进行存取
public  void  redisTest1() throws JsonProcessingException {User user=new User("duhong",12);//java对象与json字符串的转换ObjectMapper objectMapper = new ObjectMapper();String s = objectMapper.writeValueAsString(user);stringRedisTemplate.opsForValue().set("user", s);String userJson =stringRedisTemplate.opsForValue().get("user");User user1 = objectMapper.readValue(userJson, User.class);System.out.println(user1.toString());
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/621344.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

服务器出现500、502、503错误的原因以及解决方法

服务器我们经常会遇到访问不了的情况有的时候是因为我们服务器被入侵了所以访问不了&#xff0c;有的时候是因为出现了服务器配置问题&#xff0c;或者软硬件出现问题导致的无法访问的问题&#xff0c;这时候会出现500、502、503等错误代码。基于以上问题我们第一步可以先重启服…

【Py/Java/C++三种语言详解】LeetCode每日一题240114【链表】LeetCode83、删除排序链表中的重复节点

文章目录 题目链接题目描述解题思路代码PythonJavaC时空复杂度 华为OD算法/大厂面试高频题算法练习冲刺训练 题目链接 LeetCode83、删除排序链表中的重复节点 题目描述 给定一个已排序的链表的头 head &#xff0c; 删除所有重复的元素&#xff0c;使每个元素只出现一次 。返…

Android json功能解析

1. 简介 JAVAScript Object Notation是一种轻量级的数据交换格式具有良好的可读和便于快速编写的特性。业内主流技术为其提供了完整的解决方案&#xff08;有点类似于正则表达式 &#xff0c;获得了当今大部分语言的支持&#xff09;。  JSON采用兼容性很高的文本格式&#xf…

第 380 场周赛 解题报告 | 珂学家 | 数位DP 二分 + 字符串Hash

前言 整体评价 感觉T3更难些&#xff0c;T4太直接了&#xff0c;一般的KMP/StringHash基本就够用了。 上周T4出数位DP&#xff0c;估计是为T3打了一个铺垫。 A. 最大频率元素计数 思路: 模拟即可 class Solution {public int maxFrequencyElements(int[] nums) {Map<Int…

qt5.14.2配置opencv4.5.5

使用环境&#xff1a;windows&#xff0c;opencv4.5.5&#xff0c;qt5.14.2&#xff0c;msvc编译器 这里的opencv文件是已经编译好了&#xff0c;在qt工程中配置就可使用&#xff0c;编译器得是msvc才行&#xff0c;MinGW不管用。 资源地址&#xff1a;https://download.csdn.…

【深度学习每日小知识】Computer Vision 计算机视觉

计算机视觉是人工智能的一个领域&#xff0c;涉及算法和系统的开发&#xff0c;使计算机能够解释、理解和分析来自周围世界的视觉数据。这包括从静态图像到视频流甚至 3D 环境的一切。 使用对象检测和特征提取等方法&#xff0c;计算机视觉本质上需要从视觉输入中提取有用信息…

2023 IoTDB Summit:天谋科技高级开发工程师苏宇荣《汇其流:如何用 IoTDB 流处理框架玩转端边云融合》...

12 月 3 日&#xff0c;2023 IoTDB 用户大会在北京成功举行&#xff0c;收获强烈反响。本次峰会汇集了超 20 位大咖嘉宾带来工业互联网行业、技术、应用方向的精彩议题&#xff0c;多位学术泰斗、企业代表、开发者&#xff0c;深度分享了工业物联网时序数据库 IoTDB 的技术创新…

华为手机备份全过程(保姆级问题解决方案)

手机备份 前言主体信息备份一、关闭windows安全中心的内存完整性二、开启 USB 调试&#xff0c;尝试使用 ADB 连接三、开始备份 微信备份QQ备份写在最后遗留问题 前言 我的手机是荣耀 20&#xff0c;虽然不是华为&#xff0c;但系统还是鸿蒙的系统&#xff08;毕竟那阵荣耀还是…

reactNative0.71版本的使用

开发环境配置 参考reactNative 官网 版本选中0.71 打包配置 1. IOS 打开项目 -> 进入ios目录->执行命令 pod install ->项目名称.xcworkspace -> 使用xcode打开->配置证书 证书配置截图如下 &#x1f4a1;tips&#xff1a;TARGETS目录下会有多个文件&#x…

【ArcGIS Pro微课1000例】0057:未安装所需的Microsoft驱动程序

文章目录 一、错误提示二、解决办法1. Excel转表2. Excel转csv一、错误提示 ArcGIS Pro添加Excel数据时,提示未安装所需的Microsoft驱动程序,如下图所示: 二、解决办法 1. Excel转表 在选择输入表时,可能会提示未安装所需的 Microsoft 驱动程序。 这是因为要在 ArcGIS P…

为什么光刻要用黄光

光刻是集成电路&#xff08;IC或芯片&#xff09;制造中的重要工艺之一。简单来说&#xff0c;它是通过使用光掩膜和光刻胶在基板上复制电路图案的过程。 基板将涂覆硅二氧化层绝缘层和光刻胶。光刻胶在被紫外光照射后可以容易地用显影剂溶解&#xff0c;然后在腐蚀后&#xf…

控制网页的灰度显示

1.代码&#xff1a; 普通网页 <style>html {filter: grayscale(100%);}</style> 或是:webkit内核浏览器写法 <style>html {-webkit-filter: grayscale(100%)}</style> 2.说明&#xff1a; grayscale(amount) :进行灰度转换。 amount转换值的大小&…

Embeddings: What they are and why they matter

embeddings 是什么意思https://simonwillison.net/2023/Oct/23/embeddings/推荐原因&#xff1a;GPT 模型的基础是一种叫做 embeddings 的技术&#xff0c;用来将文本转换成向量&#xff0c;从而可以计算出文本之间的相似度。这篇文章详细地介绍了embeddings及应用 Embeddings…

Java多线程并发篇----第十三篇

系列文章目录 文章目录 系列文章目录前言一、Semaphore 信号量二、Semaphore 与 ReentrantLock 区别三、可重入锁(递归锁)四、公平锁与非公平锁前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,…

数据库与SQL

数据库与SQL 学习链接数据库关系型数据库管理系统&#xff08;RDBMS&#xff09; SQLSQL介绍SQL类型SQL 基础语言学习创建表&#xff08;create table&#xff09;语法 数据类型SQL最常用的数据类型 学习链接 基础篇&#xff1a;数据库 SQL 入门教程 数据库 用于存储数据 存放…

对接苹果CMS芒果影视APPV1.0(附安装教程+源码支持多端)内置采集脚本

目录 概述1. 演示效果1.1 视频演示1.2 图文演示1.2.1 首页1.2.2 专题页1.2.3 搜索1.2.4 观影 2. 支持功能3. 插件和框架4. 部署方法4.1 后端4.1.1 准备工具4.1.2创建站点4.1.3 上传后端代码到服务器4.1.4 导入数据库4.1.5 配置数据库信息4.1.6访问后台管理系统 4.2 前端4.2.1 准…

【开发日记】IDEA“找不到或无法加载主类”问题

记录一个研究了两个小时的“玄学”问题找不到或无法加载主类。 ​1、问题 使用IDEA启动SpringBoot项目显示找不到或无法加载主类。 2、解决经历 尝试了很多种解决方法都没有解决&#xff0c;下面是我网上查询后尝试的一些方法。这些方法我都没有解决问题&#xff0c;是因为…

css3背景与渐变

css3背景与渐变 前言背景颜色background-color基础知识背景图片background-image基础知识背景图片的重复模式 背景尺寸background-sizecontain和cover是两个特殊的background-size的值 背景裁切 background-clip背景固定 background-attachment背景图片位置 background-positio…

Redis数据结构学习笔记

图文主要参考小林Coding的图解redis数据结构 redis为什么快 除了它是内存数据库&#xff0c;使得所有的操作都在内存上进⾏之外&#xff0c;还有⼀个重要因素&#xff0c;它实现的数据结构&#xff0c;使 得我们对数据进⾏增删查改操作时&#xff0c;Redis 能⾼效的处理。 数…

【学术精选】NLP可投的顶会信息(近期截稿)

顶级会议推荐 引言 国际学术会议是一种学术影响度较高的会议&#xff0c;它具有国际性、权威性、高知识性、高互动性等特点&#xff0c;其参会者一般为科学家、学者、教师等。具有高学历的研究人员把它作为一种科研学术的交流方式&#xff0c;能够为科研成果的发表和对科研学术…