来源:http://rrd.me/epDTz

Redis 是目前业界使用最广泛的内存数据存储。相比 Memcached,Redis 支持更丰富的数据结构,例如 hashes, lists, sets 等,同时支持数据持久化。除此之外,Redis 还提供一些类数据库的特性,比如事务,HA,主从库。可以说 Redis 兼具了缓存系统和数据库的一些特性,因此有着丰富的应用场景。本文介绍 Redis 在 Spring Boot 中两个典型的应用场景。

如何使用

1、引入依赖包

Spring Boot 提供了对 Redis 集成的组件包:spring-boot-starter-data-redis,spring-boot-starter-data-redis依赖于spring-data-redis 和 lettuce 。Spring Boot 1.0 默认使用的是 Jedis 客户端,2.0 替换成 Lettuce,但如果你从 Spring Boot 1.5.X 切换过来,几乎感受不大差异,这是因为 spring-boot-starter-data-redis 为我们隔离了其中的差异性。

Lettuce 是一个可伸缩线程安全的 Redis 客户端,多个线程可以共享同一个 RedisConnection,它利用优秀 netty NIO 框架来高效地管理多个连接。

2、添加配置文件

3、添加 cache 的配置类

注意我们使用了注解:@EnableCaching来开启缓存。

4、好了,接下来就可以直接使用了

以上都是手动使用的方式,如何在查找数据库的时候自动使用缓存呢,看下面;

5、自动根据方法生成缓存

其中 value 的值就是缓存到 Redis 中的 key

共享 Session

分布式系统中,Session 共享有很多的解决方案,其中托管到缓存中应该是最常用的方案之一,

Spring Session 官方说明

Spring Session provides an API and implementations for managing a user’s session information.

Spring Session 提供了一套创建和管理 Servlet HttpSession 的方案。Spring Session 提供了集群 Session(Clustered Sessions)功能,默认采用外置的 Redis 来存储 Session 数据,以此来解决 Session 共享的问题。

如何使用

1、引入依赖

2、Session 配置

maxInactiveIntervalInSeconds: 设置 Session 失效时间,使用 Redis Session 之后,原 Spring Boot 的 server.session.timeout 属性不再生效。

好了,这样就配置好了,我们来测试一下

3、测试

添加测试方法获取 sessionid

登录 Redis 输入 keys 'sessions'

t

其中 1472976480000 为失效时间,意思是这个时间后 Session 失效, db031986-8ecc-48d6-b471-b137a3ed6bc4 为 sessionId,登录 http://localhost:8080/uid 发现会一致,就说明 Session 已经在 Redis 里面进行有效的管理了。

我自己是一名从事了多年开发的Java老程序员,辞职目前在做自己的Java私人定制课程,今年年初我花了一个月整理了一份最适合2019年学习的Java学习干货,从最基础的JavaSE到Spring各种框架都有整理,送给每一位Java小伙伴,想要获取的可以关注我的头条号并在后台私信我:Java,即可免费获取。

springboot session默认失效时间_Spring Boot 整合 Redis,用起来真简单相关推荐

  1. mysql springboot 缓存_Spring Boot 整合 Redis 实现缓存操作

    摘要: 原创出处 www.bysocket.com 「泥瓦匠BYSocket 」欢迎转载,保留摘要,谢谢! 『 产品没有价值,开发团队再优秀也无济于事 – <启示录> 』 本文提纲 一.缓 ...

  2. redis setnx 分布式锁_Spring Boot 整合 Redis 正确的实现分布式锁

    前言 最近在做分块上传的业务,使用到了Redis来维护上传过程中的分块编号. 每上传完成一个分块就获取一下文件的分块集合,加入新上传的编号,手动接口测试下是没有问题的,前端通过并发上传调用就出现问题了 ...

  3. redistemplate set方法_spring boot整合redis ---- RedisTemplate 三分钟快速入门

    引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spri ...

  4. springboot设置默认值_spring boot jpa存储数据的默认值为java的默认值

    问题描述 使用jpa的save方法保存数据后返回的实体类为java数据类型的默认值 问题出现的环境背景及自己尝试过哪些方法 环境背景: 用户新增功能,调用新增接口后根据返回对象的id去查询等级表的等级 ...

  5. Spring boot整合Redis(入门教程)

    目录 源码分析 jedis VS lettuce 整合测试 导入依赖 配置连接 测试 存入字符串 存入对象 五大数据类型操作 自定义RedisConfig 存入对象 Redis工具类(常用API) 以 ...

  6. 深入理解 Redis Template及4种序列化方式__spring boot整合redis实现RedisTemplate三分钟快速入门

    概述 使用Spring 提供的 Spring Data Redis 操作redis 必然要使用Spring提供的模板类 RedisTemplate, 今天我们好好的看看这个模板类 . RedisTem ...

  7. Spring boot - 整合 Redis缓存(上)

    一.配置Pom文件 在使用spring boot 2.0整合redis时遇到了好多问题,网上很多例子都是1.x版本的.故2.0没有折腾好所以将2.0降到了1.5.降级后由于thymeleaf版本也会从 ...

  8. 十一、Spring Boot整合Redis(一)

    Spring Boot整合Redis    1. SpringBoot+单例Redis 1)引入依赖 <dependency>     <groupId>org.springf ...

  9. Spring boot整合Redis实现发布订阅(超详细)

    Redis发布订阅 基础知识 相关命令 订阅者/等待接收消息 发布者/发送消息 订阅者/成功接收消息 常用命令汇总 原理 Spring boot整合redis 导入依赖 Redis配置 消息封装类(M ...

最新文章

  1. 线程组名称_Netty在Dubbo中的线程名称
  2. Atitit.去除水印的方案
  3. MapReduce 计数器简介
  4. C语言高级编程:数组和指针作为函数形参
  5. Win10 IIS本地部署网站运行时图片和样式不正常?
  6. python数据获取及预处理_python数据预处理(入门)
  7. 数论之勾股数组(毕达哥拉斯三元组)
  8. Oracle DBA之监听的静态注册与动态注册
  9. 流编辑器 SED 十分钟入门全教程
  10. Echarts 柱状图设置颜色
  11. Halcon 汉字识别
  12. python猜拳游戏
  13. C语言调试openssl ,打印错误方法
  14. 作业二:wireshark抓包与ping操作
  15. krpano 陀螺仪 相关问题
  16. 基于simulink的离散系统
  17. python处理文件的学习--实例:自动化的根据文本内容绘制图形
  18. NQI一站式服务平台,质量基础设施一站式服务系统开发方案
  19. 2020机械员-通用基础(机械员)模拟考试题及机械员-通用基础(机械员)作业考试题库
  20. 2023 手术机器人现状

热门文章

  1. DFTug Test_point
  2. Linux中cp和scp命令的使用方法
  3. 【PC工具】Windows10开始菜单增强工具Stardock Start10
  4. 【强化学习】DQN及其延伸算法
  5. 十七、字符类 GPIOS
  6. 五天带你学完《计算机网络》·第四天·应用层
  7. JS 面向对象与原型
  8. 思科推出EnergyWise合作伙伴计划
  9. java 常见中文乱码问题解决
  10. SQLServer表内自关联级联删除