Spring Data Redis使用方式
1.导入Spring Data Redis的maven坐标
pom.xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
2. 配置Redis数据源
2.1application.yml文件
datasource:druid:driver-class-name: ${sky.datasource.driver-class-name}url: jdbc:mysql://${sky.datasource.host}:${sky.datasource.port}/${sky.datasource.database}?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=trueusername: ${sky.datasource.username}password: ${sky.datasource.password}
# redis数据连接redis:host: ${sky.redis.host}port: ${sky.redis.port}password: ${sky.redis.password}database: ${sky.redis.database}
2.2application-dev.yml文件
sky:datasource:driver-class-name: com.mysql.cj.jdbc.Driverhost: localhostport: 3306database: sky_take_outusername: rootpassword: 123456redis:host: localhostport: 6379password: 123456database: 10
3. 编写配置类,创建RedisTemplate对象
package com.sky.config;import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.StringRedisSerializer;@Configuration
@Slf4jpublic class RedisConfiguration {@Beanpublic RedisTemplate redisTemplate(RedisConnectionFactory redisConnectionFactory) {log.info("开始创建redis");RedisTemplate redisTemplate = new RedisTemplate();
// 设置redis的连接工厂对象redisTemplate.setConnectionFactory(redisConnectionFactory);
// 设置redis key的序列化器redisTemplate.setKeySerializer(new StringRedisSerializer());return redisTemplate;}
}
4.通过RedisTemplate对象操作Redis
说明:编写测试类
package com.sky.test;import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.redis.core.*;import java.sql.Time;
import java.util.concurrent.TimeUnit;@SpringBootTest
public class SpringDataRedisTest {@Autowiredprivate RedisTemplate redisTemplate;@Testpublic void testRedisTemplate() {System.out.println(redisTemplate);ValueOperations valueOperations = redisTemplate.opsForValue();HashOperations hashOperations = redisTemplate.opsForHash();ListOperations listOperations = redisTemplate.opsForList();SetOperations setOperations = redisTemplate.opsForSet();}/*操作字符串类型的数据** */@Testpublic void testString() {//set get setex setnxredisTemplate.opsForValue().set("city", "北京");String city = (String) redisTemplate.opsForValue().get("city");System.out.println(city);redisTemplate.opsForValue().set("code","1234",3, TimeUnit.MINUTES);
// setnxredisTemplate.opsForValue().setIfAbsent("lock","1");redisTemplate.opsForValue().setIfAbsent("lock","2");}
}
5.结果

相关文章:
Spring Data Redis使用方式
1.导入Spring Data Redis的maven坐标 pom.xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> 2. 配置Redis数据源 2.1application.yml文件…...
HarmonyOS/OpenHarmony原生应用开发-华为Serverless认证服务说明(二)
一、支持HarmonyOS(Stage模型-API9)应用的账户注册登录方式 文档中的TS作者认为就是ArkTS之意。暂时支持四种模式,手机、邮箱、匿名、自有账户。 二、暂时不支持HarmonyOS(Stage模型-API9)应用的账户注册登录方式 包括华为账户注册登录,HarmonyOS…...
华为数通方向HCIP-DataCom H12-831题库(多选题:241-259)
第241题 设备产生的信息可以向多个方向输出信息,为了便于各个方向信息的输出控制,信息中心定义了10条信息通道,使通道之间独立输出,缺省情况下,以下哪些通道对应的输出方向可以接收Trap信息? A、console通道 B、logbuffer通道 C、snmpagent通道 D、trapbuffer通道 答案:…...
深度学习在 NumPy、TensorFlow 和 PyTorch 中实现所有损失函数
目录 一、说明 二、内容提示 三、均方误差 (MSE) 损失 3.1 NumPy 中的实现 3.2 在 TensorFlow 中的实现 3.3 在 PyTorch 中的实现 四、二元交叉熵损失 4.1 NumPy 中的实现 4.2 在 TensorFlow 中的实现 4.3 在 PyTorch 中的实现 五、加权二元交叉熵损失 5.1 分类交叉熵损失 5.2 …...
超低延时直播技术演进之路-进化篇
一、概述 网络基础设施升级、音视频传输技术迭代、WebRTC 开源等因素,驱动音视频服务时延逐渐降低,使超低延时直播技术成为炙手可热的研究方向。实时音视频业务在消费互联网领域蓬勃发展,并逐渐向产业互联网领域加速渗透。经历了行业第一轮的…...
相机坐标系之间的转换
一、坐标系之间的转换 一个有4个坐标系:图像坐标系、像素坐标系、相机坐标系、世界坐标系。 1.图像坐标系和像素坐标系之间的转换 图像坐标系和像素坐标系在同一个平面,利用平面坐标系之间的转换关系可以之知道两个坐标系变换的公式,并且该…...
jvm--对象实例化及直接内存
文章目录 1. 创建对象2. 对象内存布局3. 对象的访问定位4. 直接内存(Direct Memory) 1. 创建对象 创建对象的方式: new最常见的方式、Xxx 的静态方法(单例模式),XxxBuilder/XxxFactory 的静态方法Class 的…...
【数据结构与算法】如何对快速排序进行细节优化以及实现非递归版本的快速排序?
君兮_的个人主页 即使走的再远,也勿忘启程时的初心 C/C 游戏开发 Hello,米娜桑们,这里是君兮_,国庆长假结束了,无论是工作还是学习都该回到正轨上来了,从今天开始恢复正常的更新频率,今天为大家带来的内容…...
【电商API接口的应用:电商数据分析入门】初识Web API(一)
如何使用Web应用变成接口(API)自动请求网站到特定信息而不是整个网站,再对这些信息进行可视化。由于这样编写到程序始终使用最新到数据来生成可视化,因此即便数据瞬息万变,它呈现到信息也都是最新的。 使用Web API Web API是网站的一部分&am…...
大运新能源天津车展深度诠释品牌魅力 为都市人群打造理想车型
如今,新能源汽车行业发展潜力巨大,不断吸引无数车企入驻新能源汽车赛道,而赛道的持续紧缩也让一部分车企很难找到突破重围的机会。秉持几十年的造车经验,大运新能源凭借雄厚的品牌实力从一众车企中脱颖而出。从摩托车到重卡&#…...
深入浅出:react高阶成分(HOC)的应用
React中的HOC(Higher-Order Component)是一种高阶组件的模式,它是一个函数,接收一个组件作为参数,并返回一个新的包装组件。HOC可以用于增强组件的功能,例如添加属性、处理生命周期方法、共享状态等。 HOC…...
分库分表(3)——ShardingJDBC实践
一、ShardingSphere产品介绍 Apache ShardingSphere 是一套开源的分布式数据库中间件解决方案组成的生态圈,它由 JDBC、Proxy 和 Sidecar(规划中)这 3 款相互独立,却又能够混合部署配合使用的产品组成。 它们均提供标准化的数据分…...
Xcode 15下,包含个推的项目运行时崩溃的处理办法
升级到Xcode15后,部分包含个推的项目在iOS17以下的系统版本运行时,会出现崩溃,由于崩溃在个推Framework内部,无法定位到具体代码,经过和个推官方沟通,确认问题是项目支持的最低版本问题。 需要将项目的最低…...
《安富莱嵌入式周报》第324期:单对以太网技术实战,IROS2023迪士尼逼真机器人展示,数百万模具CAD文件下载,闭环步进电机驱动器,CANopen全解析
周报汇总地址:嵌入式周报 - uCOS & uCGUI & emWin & embOS & TouchGFX & ThreadX - 硬汉嵌入式论坛 - Powered by Discuz! 更新一期视频教程: 第8期ThreadX视频教程:应用实战,将裸机工程移植到RTOS的任务划分…...
Kafka集群架构设计原理详解
从 Zookeeper 数据理解 Kafka 集群工作机制 这一部分主要是理解 Kafka 的服务端重要原理。但是 Kafka 为了保证高吞吐,高性能,高可扩展的三高架构,很多具体设计都是相当复杂的。如果直接跳进去学习研究,很快就会晕头转向。所以&am…...
学习Kotlin编程语言
官网地址 https://developer.android.google.cn/kotlin/learn?hlzh-cn 脑图...
js文字逐个显示
定时器每隔一段时间,替换文本内容,,substring 截取更多的字符串显示 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title> </head> <body…...
电子沙盘数字沙盘大数据人工智能开发教程第16课
电子沙盘数字沙盘大数据可视化GIS系统开发教程第16课:新增加属性在MTGIS3d控件 public bool ShowFLGrid;//是否显 示方里网格。 public bool Atmosphere;//是否显示大气圈。(因为WPF不支持shader功能,所以效果嘛。。。) 在SDK中为…...
dockerfile lnmp 搭建wordpress、docker-compose搭建wordpress
-----------------安装 Docker--------------------------- 目前 Docker 只能支持 64 位系统。systemctl stop firewalld.service setenforce 0#安装依赖包 yum install -y yum-utils device-mapper-persistent-data lvm2 --------------------------------------------------…...
手写模拟SpringBoot核心流程
通过手写模拟实现一个Spring Boot,让大家能以非常简单的方式就能知道Spring Boot大概是如何工作的。 依赖 建一个工程,两个Module: 1.springboot模块,表示springboot框架的源码实现 2.user包,表示用户业务系统,用来写…...
避开这些坑!用Python做模糊控制项目时,关于隶属函数和规则表的5个常见误区
避开这些坑!用Python做模糊控制项目时,关于隶属函数和规则表的5个常见误区 第一次用Python实现模糊控制系统时,那种兴奋感我至今记得——仿佛打开了人工智能的另一扇门。但很快,这种兴奋就被各种报错和不符合预期的结果浇灭了。记…...
AI学术研究技能包:从论文导读到实验设计的全流程自动化助手
1. 项目概述:一个为AI研究助手打造的学术技能包如果你正在用Claude Code、ChatGPT/Codex CLI或者Gemini CLI这类AI编程助手做研究,大概率遇到过这样的场景:想让AI帮你读篇论文,它却只能泛泛而谈;想让AI设计个实验&…...
档案数字化最后一公里难题,已被NotebookLM破解:3类高危误判场景及防御模型
更多请点击: https://intelliparadigm.com 第一章:档案数字化最后一公里难题,已被NotebookLM破解:3类高危误判场景及防御模型 档案数字化进程在OCR识别与元数据标引环节已趋成熟,但“最后一公里”——即非结构化文本语…...
51单片机断电记忆功能实现:用AT24C02做个简易电子计数器(含完整代码)
51单片机断电记忆功能实战:基于AT24C02的智能计数器开发指南 在嵌入式系统开发中,数据持久化存储是一个常见但至关重要的需求。想象一下,当你精心设计的计数器设备在断电后丢失所有记录,或者每次重启都需要重新配置参数࿰…...
AI智能体框架选型指南:从LangChain到CrewAI的实战解析
1. 项目概述:为什么我们需要一个“智能体框架”导航站?如果你最近在关注AI领域,尤其是大语言模型的应用开发,那么“智能体”这个词一定已经听得耳朵起茧了。从OpenAI的GPTs到各种自主执行任务的AI助手,智能体似乎成了将…...
Cursor智能体工具包:从AI编程助手到自主规划开发伙伴
1. 项目概述:一个为AI编程助手赋能的智能工具包如果你和我一样,日常重度依赖Cursor这类AI编程助手,那你肯定也经历过这样的时刻:面对一个复杂的重构任务,你不得不把需求拆成十几条指令,一条条喂给AI&#x…...
Cursor集成MCP服务器:本地AI开发效率革命与安全实践
1. 项目概述:当Cursor遇到MCP,一场本地AI开发的效率革命如果你和我一样,是个重度依赖Cursor的开发者,那你肯定对它的“Agent”模式又爱又恨。爱的是它能理解你的意图,帮你生成代码、重构、甚至调试;恨的是&…...
Claude Code 用户遭遇封号或额度不足时转向 Taotoken 的平滑迁移方案
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 Claude Code 用户遭遇封号或额度不足时转向 Taotoken 的平滑迁移方案 应用场景类,针对依赖 Claude Code 进行编程辅助但…...
如何在Windows上安装安卓应用?APK安装器完整指南
如何在Windows上安装安卓应用?APK安装器完整指南 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 想要在Windows电脑上直接运行安卓应用,却不想安…...
5G网络优化实战:手把手教你配置gNB切换策略(盲切、基于覆盖、基于优先级)
5G网络切换策略深度配置指南:从实验室到现网的实战解析 在5G网络部署中,无缝切换是保障用户体验的核心技术之一。想象一下,当用户在地铁通勤时观看4K视频,或在高速公路上进行视频会议,网络连接的稳定性直接取决于基站间…...
