SpringBoot集成Redis客户端

news2024/11/27 20:24:19

文章目录

  • Redis 的 Java 客户端
  • Spring Data Redis 介绍
  • Spring Data Redis 使用方式


Redis 的 Java 客户端

Redis 的 Java 客户端很多,常用的几种:

  • Jedis
  • Lettuce
  • Spring Data Redis

Spring Data Redis 介绍

Spring Data Redis 是 Spring 的一部分,对 Redis 底层开发包进行了高度封装,在 Spring 项目中,可以使用 Spring Data Redis 来简化操作。

Spring Data Redis 使用方式

操作步骤:

  1. 导入 Spring Data Redis 的 maven 坐标
  2. 配置 Redis 数据源
  3. 编写配置类,创建 RedisTemplate 对象
  4. 通过 RedisTemplate 对象操作 Redis

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

pom.xml

<dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-data-redis</artifactId>
 </dependency>

application.yml
在这里插入图片描述

application-dev.yml

在这里插入图片描述

RedisConfiguration.java

@Configuration
@Slf4j
public class RedisConfiguration {

    @Bean
    public RedisTemplate redisTemplate(RedisConnectionFactory redisConnectionFactory){
        log.info("开始创建redis模版对象...");
        RedisTemplate redisTemplate = new RedisTemplate();
        // 设置redis的连接工厂对象
        redisTemplate.setConnectionFactory(redisConnectionFactory);
        // 设置redis key的序列化器
        redisTemplate.setKeySerializer(new StringRedisSerializer());
        return redisTemplate;
    }

}

这里的报红可以忽略
在这里插入图片描述

通过 RedisTemplate 对象操作 Redis

@SpringBootTest
public class SpringDataRedisTest {

    @Autowired
    private RedisTemplate redisTemplate;

    @Test
    public void testRedisTemplate(){
        System.out.println(redisTemplate);
        ValueOperations valueOperations = redisTemplate.opsForValue();
        HashOperations hashOperations = redisTemplate.opsForHash();
        ListOperations listOperations = redisTemplate.opsForList();
        SetOperations setOperations = redisTemplate.opsForSet();
        ZSetOperations zSetOperations = redisTemplate.opsForZSet();
    }

    /**
     * 操作字符串类型的数据
     */
    @Test
    public void testString(){

        redisTemplate.opsForValue().set("city", "北京");
        String city = (String) redisTemplate.opsForValue().get("city");
        System.out.println(city);
        redisTemplate.opsForValue().set("a", "1234", 3, TimeUnit.MINUTES);
        redisTemplate.opsForValue().setIfAbsent("b", "1234");
        redisTemplate.opsForValue().setIfAbsent("b", "1111");
    }


}

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

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

相关文章

跨境电商年底风控升级,测评养号如何选择稳定且纯净的IP环境?

随着年底跨境电商平台风控的升级&#xff0c;许多测评团队的账号存活率有所下降。对于自养号测评的卖家来说&#xff0c;IP的重要性不言而喻。除了设置参数阻断&#xff0c;IP的质量也直接影响到账户的稳定性和成功率。因此&#xff0c;在年底这个特殊时期&#xff0c;所有测评…

Kali Linux:网络与安全专家的终极武器

文章目录 一、Kali Linux 简介二、Kali Linux 的优势三、使用 Kali Linux 进行安全任务推荐阅读 ——《Kali Linux高级渗透测试》适读人群内容简介作者简介目录 Kali Linux&#xff1a;网络与安全专家的终极武器 Kali Linux&#xff0c;对于许多网络和安全专业人士来说&#x…

【APUE】并发 — 线程

目录 一、线程的概念 1.1 定义 1.2 POSIX 线程标准 1.3 线程标识 1.4 相关函数 1.5 一些补充 二、线程的创建、终止与取消 2.1 创建 2.2 终止 2.2.1 return 2.2.2 pthread_exit 2.3 取消 2.3.1 函数介绍 2.3.2 禁止线程被取消 2.3.3 线程取消方式 2.4 清…

第7章_单行函数

文章目录 1 函数的理解1.1 什么是函数1.2 不同DBMS函数的差异 2 数值函数2.1 基本函数2.2 角度与弧度2.3 三角函数2.4 指数函数、对数函数2.5 进制间的转换 3 字符串函数4 日期和时间函数4.1 获取日期、时间4.2 日期与时间戳的转换4.3 获取月份、星期、星期数、天数4.4 日期的操…

零代码复现-TCGA联合GEO免疫基因结合代谢基因生信套路(二)

零代码复现-TCGA联合GEO免疫基因结合代谢基因生信套路&#xff08;二&#xff09;-关键基因集的获取和生存数据准备 前面的分析中&#xff0c;下载TCGA和GEO的数据&#xff0c;并进行简单的处理&#xff0c;接下来就是相关基因集的获取和整理&#xff0c;为后期聚类和降维做准…

[ element-ui:table ] 设置table中某些行数据禁止被选中,通过selectable 定义方法解决

业务需求&#xff1a;需要做到table表格中某些行数据不能被选中&#xff0c;比如在审核一些记录数据时&#xff0c;已经被审核的数据就不能再次提交审核&#xff0c;特别是批量多选的情况&#xff0c;列表中既有已经审核的&#xff0c;也有未审核的&#xff0c;只要求选中未审核…

USB Type-C reference circuit

1.OTG功能&#xff0c;只能对负载供电&#xff0c;不能从电脑端给板子供电 2. USB TTL作为usb串口&#xff0c;可以从电脑端给板子供电 3.USB Type-C power supply,仅仅用来从USB电源得到工作电压。但是外部电源供电电压must supply 12V or greater. 4.功能完整的USB3.0 T…

​实现1个电脑打开多个微信​

实现1个电脑打开多个微信&#xff1a;1、快速双击打开微信&#xff0c;可打开多个微信。2、按住回车键&#xff0c;双击打开微信&#xff0c;并快速放开回车键即可打开多个微信。3、用命令符也可打开多个微信。4、建立一个批处理文件实现打开多个微信。 方法一&#xff1a;最简…

飞书开发学习笔记(一)-应用创建和测试

飞书开发学习笔记(一)-应用创建和测试 一.前言 现在大企业用的办公IM软件中,飞书是口碑最好的&#xff0c;不得不说&#xff0c;字节在开发产品方面&#xff0c;确实有自己独到的竞争力&#xff0c;比如说抖音、头条、飞书。在办公会议和云文档的体验上&#xff0c;其它的办公…

[JavaWeb]——过滤器filter与拦截器Interceptor的使用、执行过程、区别

&#x1f308;键盘敲烂&#xff0c;年薪30万&#x1f308; 目录 一、过滤器filter 概念介绍&#xff1a; 过滤器的使用&#xff1a; 过滤器的执行流程&#xff1a; 应用场景(登录校验)&#xff1a; 二、拦截器Interceptor 概念介绍&#xff1a; 拦截器的使用&#xff1…

智慧建筑工地管理平台源码

智慧工地是聚焦工程施工现场&#xff0c;紧紧围绕人、机、料、法、环等关键要素&#xff0c;综合运用物联网、云计算、大数据、移动计算和智能设备等软硬件信息技术&#xff0c;与施工生产过程相融合。 智慧工地管理平台充分运用数字化技术&#xff0c;聚焦施工现场岗位一线&am…

生成带分表和水印的excel压缩文件

功能描述 将查询结果生成带分表和水印的excel压缩文件 功能点 1、将查询结果导出为excel文件 2、每个表格存放50万条数据&#xff0c;超过50万条数据&#xff0c;生成新的分表 3、生成的表格需要添加水印 4、将生成的全部分表&#xff0c;打包成zip压缩文件 引入依赖 <…

【鸿蒙软件开发】ArkUI之Column、ColumnSplit组件

文章目录 前言一、Column1.1 子组件1.2 接口参数 1.3 属性1.4 示例代码 二、ColumnSplit2.1 子组件2.2 接口2.3 属性2.4 示例代码 总结 前言 Column容器组件&#xff1a;沿垂直方向布局的容器。 ColumnSplit组件&#xff1a;将子组件纵向布局&#xff0c;并在每个子组件之间插…

迈巴赫S480升级主动式氛围灯 浪漫又婉转的气氛

主动式氛围灯有263个可多色渐变的LED光源&#xff0c;营造出全情沉浸的动态光影氛围。结合智能驾驶辅助系统&#xff0c;可在转向或检测到危险时&#xff0c;予以红色环境光提示&#xff0c;令光影艺术彰显智能魅力。配件有6个氛围灯&#xff0c;1个电脑模块。 1、气候&#x…

操作系统的线程模型

操作系统的线程调度有几个重要的概念&#xff1a; 调度器&#xff08;Thread Scheduler&#xff09;&#xff1a;内核通过操纵调度器对内核线程进行调度&#xff0c;并负责将线程的任务映射到各个处理器上内核线程&#xff08;Kernel Level Thread&#xff09;&#xff1a;简称…

企业文件防泄密软件哪个好?文件防泄密软件如何选择

企业文件防泄密软件哪个好&#xff1f;文件防泄密软件如何选择 安企神数据防泄密系统下载使用 在互联网迅速发展的大环境下&#xff0c;数据已经成为企业发展的重要资产之一&#xff0c;然而&#xff0c;随着网络攻击手段的不断升级&#xff0c;企业数据泄露事件屡见不鲜&…

机器学习笔记 - 感知器的数学表达

一、假设前提 感知机(或称感知器,Perceptron)是Frank Rosenblatt在1957年就职于Cornell航空实验室(Cornell Aeronautical Laboratory)时所发明的一种人工神经网络。 它可以被视为一种最简单形式的前馈神经网络,是一种二元线性分类模型,其输入为实例的特征向量,输出为实…

使用Python 脚自动化操作服务器配置

“ 有几十台特殊的服务器&#xff0c;没有合适的批量工具只能手动&#xff0c;要一个一个进行点击设置很耗费时间呀\~”,使用 Python 的简单脚本&#xff0c;即可模拟鼠标键盘进行批量作业 01 — 自动化示例 以某服务器中的添加用户权限为例&#xff0c;演示过程皆未触碰鼠标…

(免费分享)基于springboot,vue社区养老服务管理系统

本课题针对养老机构对养老院日常业务信息管理问题&#xff0c;建立一个社区养老管理平台&#xff0c;基于springboot以及vue框架技术&#xff0c;实现了社区养老管理系统&#xff0c;实现了对养老院的员工、管理员对入住的老人及其健康档案实现信息化管理 获取完整源码&…

基于PHP + MySQL实现的文章内容管理系统源码+数据库,采用前后端分离的模板和标签化方式

文章内容管理系统 dc-article是一个通用的文章内容管理系统&#xff0c;基于开源的caozha-admin开发&#xff0c;采用前后端分离的模板和标签化方式&#xff0c;支持文章内容管理、栏目分类管理、评论管理、友情链接管理、碎片管理、远程图片获取器等功能。可以使用本系统很轻…