二十三、Spring Boot自定义Redis实现缓存机制
来源:互联网 发布:搜索整理15个淘宝网店 编辑:程序博客网 时间:2024/05/22 02:00
基于spring-date的已经实现了 CacheManager缓存管理器和caceh等,具体使用参考:http://blog.csdn.net/l_sail/article/details/70306339
工程结构
maven依赖
<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.lf</groupId> <artifactId>cache-RedisTemplate</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>cache-RedisTemplate</name> <description>Demo project for Spring Boot</description> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.2.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <!--添加spring对cache的支持--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-cache</artifactId> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.3.0</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build></project>
自定义缓存管理
package com.lf.redisConfig;import com.lf.config.RedisObjectSerializer;import org.springframework.cache.CacheManager;import org.springframework.cache.annotation.CachingConfigurerSupport;import org.springframework.cache.interceptor.KeyGenerator;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.data.redis.cache.RedisCacheManager;import org.springframework.data.redis.connection.RedisConnectionFactory;import org.springframework.data.redis.core.RedisTemplate;/** * Created by LF on 2017/4/20. */@Configurationpublic class RedisCacheConfig extends CachingConfigurerSupport { @Bean public CacheManager cacheManager(RedisTemplate<?, ?> redisTemplate) { CacheManager cacheManager = new RedisCacheManager(redisTemplate); return cacheManager; } @Bean public RedisTemplate<String, String> redisTemplate(RedisConnectionFactory factory) { RedisTemplate<String, String> redisTemplate = new RedisTemplate<String, String>(); redisTemplate.setConnectionFactory(factory); //key序列化方式;(不然会出现乱码;) //如果实现了key的自定义方式 方法上有Long等非String类型的话,会报类型转换错误; //则要实现RedisSerializer的序列化, redisTemplate.setKeySerializer(new RedisObjectSerializer()); redisTemplate.setValueSerializer(new RedisObjectSerializer()); return redisTemplate; } //自定义key的实现方式 @Override public KeyGenerator keyGenerator() { System.out.println("RedisCacheConfig.keyGenerator()"); return (o, method, objects) -> { StringBuilder sb = new StringBuilder(); sb.append(o.getClass().getName()); sb.append(method.getName()); for (Object obj : objects) { sb.append(obj.toString()); } System.out.println("keyGenerator=" + sb.toString()); return sb.toString(); }; }}
其他文件参看:http://blog.csdn.net/l_sail/article/details/70306339
0 0
- 二十三、Spring Boot自定义Redis实现缓存机制
- spring boot整合redis实现缓存机制
- Spring Boot集成Redis实现缓存机制
- 35. Spring Boot集成Redis实现缓存机制【从零开始学Spring Boot】
- 35. Spring Boot集成Redis实现缓存机制【从零开始学Spring Boot】
- (35)Spring Boot集成Redis实现缓存机制【从零开始学Spring Boot】
- Spring Boot集成Redis实现缓存机制【从零开始学Spring Boot】
- Spring Boot集成Redis实现缓存
- Spring Boot 整合 Redis 实现缓存操作
- Spring Boot 整合 Redis 实现缓存操作
- Spring Boot使用redis实现数据缓存
- Spring Boot 整合 Redis 实现缓存操作
- Spring Boot 整合 Redis 实现缓存操作
- Spring Boot集成Redis实现缓存
- Spring Boot 整合 Redis 实现缓存操作
- Spring Boot集成Redis实现缓存
- spring-boot集成ehcache实现缓存机制
- 【spring-boot】spring-boot集成ehcache实现缓存机制
- js常用正则验证
- 词典压缩器压缩与解压
- C语言实现 求两个数组的交集
- 消息中间件(二)消息队列
- 关于Flask mega-tutorial遇到的一些问题-三(Flask_mail服务器及邮箱设置)
- 二十三、Spring Boot自定义Redis实现缓存机制
- mybatis的缓存机制(一级缓存二级缓存和刷新缓存)和mybatis整合ehcache
- 如何捕获和处理逃出线程外的异常
- poj 1979
- [HNOI2016] 网络
- opencv从零开始——1. 生成图像
- imweb 前端训练营第一次作业[更新]
- 偶数的个数(难度系数:半颗星)
- 在职场, 解决问题才是第一位的!