spring426集成redis291缓存_spring加载日志_redis安装
起点在Springweb实践基础上https://blog.csdn.net/caststudy/article/details/102508211
redis(window安装使用)
http://www.runoob.com/redis/redis-tutorial.html
运行前要先启动redis数据库

依赖关系

spring版本库
https://repo.spring.io/release/org/springframework/spring/4.2.6.RELEASE/
项目代码结构

配置日志

log4j.properties
log4j.rootLogger=INFO,A1,A2#ConsoleAppender
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%d{yyyy-MM-dd HH\:mm\:ss} [%l] [%p] %m%n# FileAppender
log4j.appender.A2=org.apache.log4j.RollingFileAppender
log4j.appender.A2.File=${springweb}/smr.log
log4j.appender.A2.MaxFileSize=1MB
log4j.appender.auditLogger.MaxBackupIndex=1
log4j.appender.A2.layout=org.apache.log4j.PatternLayout
log4j.appender.A2.layout.ConversionPattern=%d{yyyy-MM-dd HH\:mm\:ss}[%l] [%p]%m%n
web.xml配置文件

使用redis实现缓存

redis属性配置redis.properties
/WEB-INF/redis.properties
spring配置引用redis配置

redis配置代码
package com.springweb.config;import org.springframework.cache.annotation.CachingConfigurerSupport;
import org.springframework.data.redis.cache.RedisCacheManager;
import org.springframework.data.redis.connection.jedis.JedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;public class RedisCacheConfig extends CachingConfigurerSupport {private volatile JedisConnectionFactory jedisConnectionFactory;private volatile RedisTemplate redisTemplate;private volatile RedisCacheManager redisCacheManager;public RedisCacheConfig() {}/*** 带参数的构造方法 初始化所有的成员变量** @param jedisConnectionFactory* @param redisTemplate* @param redisCacheManager*/public RedisCacheConfig(JedisConnectionFactory jedisConnectionFactory, RedisTemplate redisTemplate,RedisCacheManager redisCacheManager) {this.jedisConnectionFactory = jedisConnectionFactory;this.redisTemplate = redisTemplate;this.redisCacheManager = redisCacheManager;}public JedisConnectionFactory getJedisConnecionFactory() {return jedisConnectionFactory;}public RedisTemplate getRedisTemplate() {return redisTemplate;}public RedisCacheManager getRedisCacheManager() {return redisCacheManager;}}
package com.springweb.config;import org.springframework.cache.interceptor.KeyGenerator;import java.lang.reflect.Method;public class CusKeyGenerator implements KeyGenerator {public Object generate(Object o, Method method, Object... params) {//规定 本类名+方法名+参数名 为keyStringBuilder sb = new StringBuilder();sb.append(o.getClass().getName());sb.append("-");sb.append(method.getName());sb.append("-");for (Object param : params) {sb.append(param.toString());}return sb.toString();}
}
设置使用缓存

package com.springweb.service;import java.util.List;
import java.util.Map;import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;import com.springweb.mapper.Func1Mapper;@Service
public class Func1ServiceImpl implements Func1Service {Logger log=Logger.getLogger(Func1ServiceImpl.class);@Autowiredprivate Func1Mapper func1Mapper;@Override@Cacheable("func1")public List select(Map map) {log.info("redis cache Func1ServiceImpl.select....."); return func1Mapper.select(map);}}
运行效果(相隔20秒刷新)

查看日志

Redis Desktop Manager查看缓存
安装包
https://pan.baidu.com/s/13ucFi9HvGNx5pZdIxRWeSA

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
