springboot yml 配置redis_springboot快速集成redis,事务配置
什么是redis
是一个非关系型数据库内存数据库,以key-value方式进行存储,Redis以单线程方式存储,既然是单线程(保证线程安全)
Redis一个应用场景
令牌生成(临时有效)
短信验证码(临时有效)
热点数据(使用redis减轻数据库的查询压力)
使用Redis实现消息中间件(不推荐使用) 发布订阅
分布式锁
网站计数器(redis是单线程,在高并发情况下,保证全局count唯一性)
Redis基本数据类型
String类型
Hash类型
List
Set
ZSet
springboot集成redis
org.springframework.boot spring-boot-starter-weborg.springframework.boot spring-boot-starter-data-redis
配置文件配置
spring.redis.database=1 -- redis数据库序号spring.redis.host=192.168.0.105spring.redis.port=6379spring.redis.password=123spring.redis.jedis.pool.max-active=8spring.redis.jedis.pool.max-wait=-1spring.redis.jedis.pool.max-idle=8spring.redis.jedis.pool.min-idle=0spring.redis.timeout=10000
![](/assets/blank.gif)
注:当多个项目同时连接redis时,可以使用 spring.redis.database 进行区分。防止相同的key互相覆盖
springboot集成redis配置完成了。下面可以使用redis了
简单封装一下redis方法
![](/assets/blank.gif)
import org.springframework.beans.factory.annotation.Autowired;import org.springframework.data.redis.core.StringRedisTemplate;import org.springframework.stereotype.Service;import java.util.Set;import java.util.concurrent.TimeUnit;/** * Created by raden on 2019/7/17. */@Servicepublic class RedisService { @Autowired private StringRedisTemplate stringRedisTemplate; public void set(String key , Object object, Long time){ if(object instanceof String) { // 存放string类型 String value = (String)object; stringRedisTemplate.opsForValue().set(key,value); } if(object instanceof Set) { Set values = (Set) object; for(String value : values){ stringRedisTemplate.opsForSet().add(key,value); } } // 设置有效期 if(time != null) { stringRedisTemplate.expire(key,time, TimeUnit.SECONDS); } } public void setString(String key , String value){ stringRedisTemplate.opsForValue().set(key,value); } public void setSet(String key , Object object){ Set values = (Set) object; for(String value : values){ stringRedisTemplate.opsForSet().add(key,value); } } public String get(String key){ return stringRedisTemplate.opsForValue().get(key); }}
controller层调用service
@RestControllerpublic class IndexController { @Autowired private RedisService redisService; @GetMapping("/set") public String setString(String key ,String object){ redisService.set(key,object,100L); return "success"; } @GetMapping("/get") public String getString(String key ,String object){ return redisService.get(key); }}
这样springboot的redis调用完成了。
redis事务配置
public void setTransaction(String key , Object object){ // 开启事务权限 stringRedisTemplate.setEnableTransactionSupport(true); try{ // 开启事务 stringRedisTemplate.multi(); String value = (String)object; stringRedisTemplate.opsForValue().set(key,value); // 提交事务 stringRedisTemplate.exec(); }catch (Exception e){ // 回滚事务 stringRedisTemplate.discard(); }}
springboot yml 配置redis_springboot快速集成redis,事务配置相关推荐
- SpringBoot集成Redis和配置Redis做缓存
Redis介绍 Redis是一个开源的.高性能的.基于键值对的缓存与存储系统,通过提供多种键值数据类型来适应不同场景下的缓存与存储需求,直观的存储结构使得通过程序交互十分简单. Redis数据库中所有 ...
- SpringBoot动态切换数据源-快速集成多数据源的启动器
简介 dynamic-datasource-spring-boot-starter 是一个基于springboot的快速集成多数据源的启动器. 其支持 Jdk 1.7+, SpringBoot 1.4 ...
- SpringBoot笔记:SpringBoot2.3集成Kafka组件配置
文章目录 说明 Springboot集成Kafka 依赖配置 配置文件yml配置 Producer生产者 Consumer消费者 测试代码 注意事项 说明 本文是接<Kafka学习:CentOS ...
- 玩转 SpringBoot 2.x 之 快速集成 Jedis客户端(普通版)
前言 Java 开发 一般会选择 Jedis 客户端来进行 Redis 相关的操作,本文通过SpringBoot 项目带你快速上手 Jedis 相关的操作. Redis 安装 请参考:带你学 Redi ...
- Linux redis配置服务,Linux 安装 redis 并配置成 service 系统服务
前言 写作这一篇文章纯粹的目的就是快速上手redis,人的精力有限,将你的精力花在学习知识上,而不是安装. 我就是喜欢简单的命令管理 Linux 上的程序,信奉傻瓜式操作是流行的前提.当你希望弄懂为什 ...
- SpringBoot笔记:SpringBoot2.3集成SpringSession+nginx+redis实现session共享
文章目录 Spring Session介绍 Redis集成 yml配置 依赖添加 redis存值查看 登录服务器查看redis的值 查询所有"spring:session:"开头的 ...
- SpringBoot中使用redis事务
本文基于SpringBoot 2.X 事务在关系型数据库的开发中经常用到,其实非关系型数据库,比如redis也有对事务的支持,本文主要探讨在SpringBoot中如何使用redis事务. 事务的相关介 ...
- 智能生活 App 垂直品类- IPC SDK 架构及快速集成配置(安卓版)
除了通用设备功能的应用开发,针对部分常见的全屋智能场景设备,智能生活 App SDK 提供了单独的垂直品类 SDK.包括智能摄像机 SDK.智能门锁 SDK.扫地机机器人 SDK.智能照明控制 SDK ...
- spring-boot的spring-cache中的扩展redis缓存的ttl和key名
原文地址:spring-boot的spring-cache中的扩展redis缓存的ttl和key名 前提 spring-cache大家都用过,其中使用redis-cache大家也用过,至于如何使用怎么 ...
最新文章
- spring web参数传递
- 2019秋第二周学习总结
- 技术部门 Leader 与团队那些事
- Java基础之String,StringBuilder,StringBuffer三者的区别
- 应用内安装部分手机出现解析错误
- 多线程完成连续打印1-100的数字, 要求一条线程专门打印奇数,另外一条专门用来打印偶数
- 代理模式(动态代理模式)
- Android开发(22)--seekBar采用handler消息处理操作
- jQuery-实例方法
- Eclipse没有Web插件和JavaEE插件咋整
- PPTP拨号后无法打开网页处理
- 翻译:《CSS权威指南》(第3版)-概览和目录部分
- Qt学习之路系列教程目录
- JS Grid插件使用
- Linux中访问tomcat方式,linux软连接_Linux中为Tomcat启用软链接的三种方式
- 六大设计原则----依赖倒置原则
- python 转Excel二维表为一维表
- 最大最小次序统计量密度函数的推导
- JSON与聚合数据不解之缘二
- Binder机制之Service Manager(大内总管)
热门文章
- 第一款自己的RPG游戏--生成心中的世界(二)
- RPA教学——TypeError: ‘_Folders‘ object is not callable
- 【系统】日文系统中将日文键盘修改为英文键盘
- java私活_程序员接私活,怎样防止做完不给钱?
- 一本通-1014:与圆相关的计算
- 配电网粒子群算法实例
- 用Node.JS和Think.JS实现的中宣部防沉迷实名认证系统
- Js中类似抽奖活动案例
- 如何查询当前本机使用的代理服务器IP地址
- 深入分析Java Web技术内幕读书笔记(一)浅析Web请求过程