springboot整合redis(二)

springboot环境下整合redis的配置以及部分代码的介绍

1.首先看一下配置

spring:
redis:
    database: 1
    host: 127.0.0.1
    password: 123@123.com
    port: 6379
    pool:
      max-active: 8
      min-idle: 0
      max-idle: 8
      max-wait: -1

springboot中本身就集成好了redis,只要在对应的property或者yml配置文件中简单配置即可;

下面先大致看一下redisconfig的文件,再对部分配置做解释

@Configuration
@EnableCaching
public class RedisConfig extends CachingConfigurerSupport {

	@Bean
	public CacheManager cacheManager(RedisTemplate<Object, Object> redisTemplate){
		RedisCacheManager cacheManager=new RedisCacheManager(redisTemplate);
		cacheManager.setDefaultExpiration(5*60);//default timeunit is second
	
		return cacheManager;
	}
	
	
	/**
	 * redisTemplate
	 * @author 
	 * @time 2017年7月20日上午8:57:17
	 * @param redisConnectionFactory
	 * @return
	 */
	@Bean("redisTemplate")
	public RedisTemplate<Object, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory){
		RedisTemplate<Object, Object> redisTemplate=new RedisTemplate<>();
		redisTemplate.setConnectionFactory(redisConnectionFactory);
		redisTemplate.setEnableTransactionSupport(true);
		 RedisSerializer<String> stringRedisSerializer = new StringRedisSerializer();//此处设置序列化格式是string
		//redisTemplate.setDefaultSerializer(stringRedisSerializer);//设置默认
		redisTemplate.setKeySerializer(stringRedisSerializer);
        redisTemplate.setHashKeySerializer(stringRedisSerializer);
		return redisTemplate;
	}
	
	/**
	 * 统一使用名称  类+方法+参数
	 */
	@Override
	public KeyGenerator keyGenerator(){
		return new KeyGenerator() {			
			@Override
			public Object generate(Object target, Method method, Object... params) {
				StringBuilder sb = new StringBuilder();
				  sb.append("wdcloud-");
	              sb.append(target.getClass().getName());
	              sb.append(method.getName());
	              for (Object obj : params) {
	                  sb.append(obj.toString());
	              }
				return sb.toString();
			}
		};
	}
	
}
在rediscacheManager中定义expiretime,因为在原始的sping-jedis中实现对方法注解实现配置cache的功能中不存在过期超时时间;这里在manager中统一配置;在上篇的 springboot集成jetcache 中是阿里封装的,可以设置整体的expiretime,也可以个体设置;按需索取应用吧;

下面的keyGenerator是做应用统一命名前缀;

redisTemplate中设置serializer;具体参照api;这里不设置会出现cannot cast object to string的异常;



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值