Spring Boot集成Redis实战操作功能

发布时间:2020-08-31 14:26:51 作者:Java比海盗
来源:脚本之家 阅读:199

最近在使用Spring Boot,发现其功能真是强大,可以快速的集成很多的组件功能,非常方便:

Spring Boot集成Redis实战操作功能

今天就来介绍下,如何集成Redis

Spring Boot集成Redis实战操作功能

定义

Redis 是一个高性能的key-value数据库。它支持存储的value类型很多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set –有序集合)和hash(哈希类型)。

以下是Redis的一些优点。

异常快 - Redis非常快,每秒可执行大约110000次的设置(SET)操作,每秒大约可执行81000次的读取/获取(GET)操作。

支持丰富的数据类型 - Redis支持开发人员常用的大多数数据类型,例如列表,集合,排序集和散列等等。这使得Redis很容易被用来解决各种问题,因为我们知道哪些问题可以更好使用地哪些数据类型来处理解决。

操作具有原子性 - 所有Redis操作都是原子操作,这确保如果两个客户端并发访问,Redis服务器能接收更新的值。

多实用工具 - Redis是一个多实用工具,可用于多种用例,如:缓存,消息队列(Redis本地支持发布/订阅),应用程序中的任何短期数据,例如,web应用程序中的会话,网页命中计数等。

如何搭建?

一.加入Redis相关依赖

Spring Boot集成Redis实战操作功能

二、application.properties中加入redis相关配置

Spring Boot集成Redis实战操作功能

在@Configuration或者集成了这个注解的注解标识的类中声明一个Redis的bean,本例是在入口类上声明的Bean:

Spring Boot集成Redis实战操作功能

在Controller里注入StringRedisTemplate:

Spring Boot集成Redis实战操作功能

启动浏览器访问:

Spring Boot集成Redis实战操作功能

以上是手动进行redis的操作,那如何进行自动的的缓存操作呢?

在启动类中添加注解

Spring Boot集成Redis实战操作功能

@EnableCaching会为每个bean中被 @Cacheable, @CachePut and @CacheEvict修饰的public方法进行缓存操作。

缓存的用法

Spring Boot集成Redis实战操作功能

这个方法在userId相同形同的情况下,第一次调用的时候会执行方法,以后每次在调用的时候会读取缓存中的数据。

缓存的注解介绍:

@Cacheable

这个注解,会每次先检查是否执行过这个方法,在从缓存数据库中查看key是否相等,如果找到了,从缓存中读取,没有匹配的那么执行该方法,将结果缓存。

缓存都是通过key-value进行储存的,value或cacheNames必须指定(value是cacheNames的别名),指定多个value用(value = {"value1", "value2"})如果没有指定key,spring会提供一个默认的KeyGenerator,这个KeyGenerator根据参数生成key,如果方法没有参数返回KeyGenerator.EMPTY,如果有一个参数返回这个实例,如果有多个参数返回包含这些参数的SimpleKey。可以通过继承CachingConfigurerSupport自己指定KeyGenerator,类上加@Configuration注解。也可以像上面那样自己指定key,需要了解SPEL表达式。

多线程的情况下,可能同时会有多个线程同时进入一个没被缓存过的方法,这样会导致多个线程都会执行一遍方法,sync="true"会将第一次计算返回值的这个方法lock,计算完成后将结果缓存

Spring Boot集成Redis实战操作功能

Spring Boot集成Redis实战操作功能

备注:Redis最为常用的数据类型主要有以下:

总结

以上所述是小编给大家介绍的Spring Boot集成Redis实战操作功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对亿速云网站的支持!

推荐阅读:
  1. Redis实战(1)-Spring Boot2.0整合Redis自定义注入模板操作Bean组件
  2. 如何开发Spring Boot Starter

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

spring boot redis

上一篇:css-theme通过源码生成一份包含多套皮肤配置样式文件的方法

下一篇:Android 自定义输入手机号自动添加分隔符

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》