zoukankan      html  css  js  c++  java
  • Springboot2.x 集成redis

    pom.xml 添加

    <dependency>
               <groupId>org.springframework.boot</groupId>
               <artifactId>spring-boot-starter-data-redis</artifactId>
    </dependency>

    yml 配置

    spring: 
      redis:
        #数据库索引
        database: 0
        host: 118.24.11.111
        port: 6379
        password: 123456
        jedis:
          pool:
            #最大连接数
            max-active: 8
            #最大阻塞等待时间(负数表示没限制)
            max-wait: -1
            #最大空闲
            max-idle: 8
            #最小空闲
            min-idle: 0
        #连接超时时间
        timeout: 10000
    RedisTemplate 配置,重写key和value的序列化

    @Configuration
    public class RedisConfig {
        @Bean
        public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) {
            // 配置redisTemplate
            RedisTemplate<String, Object> redisTemplate = new RedisTemplate<String, Object>();
            redisTemplate.setConnectionFactory(redisConnectionFactory);
            RedisSerializer stringSerializer = new StringRedisSerializer();
            redisTemplate.setKeySerializer(stringSerializer); // key序列化
            redisTemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer()); // value序列化
            redisTemplate.setHashKeySerializer(stringSerializer); // Hash key序列化
            redisTemplate.setHashValueSerializer(new GenericJackson2JsonRedisSerializer()); // Hash value序列化
            redisTemplate.afterPropertiesSet();
            return redisTemplate;
    
        }
    
    }
    public interface RedisService {
    
        void setObj(String key, Object obj, long timeout);
    
        Object getObj(String key);
    
    }
    @Service("redisService")
    public class RedisServiceImpl implements RedisService {
        @Resource
        private RedisTemplate redisTemplate;
        @Override
        public void setObj(final String key, Object obj, long timeout) {
            ValueOperations<Serializable, Object> operations = redisTemplate.opsForValue();
            operations.set(key, obj, timeout, TimeUnit.SECONDS);
        }
        @Override
        public Object getObj(final String key) {
            Object o = redisTemplate.opsForValue().get(key);
            return o;
        }
    
    
    }

    调用示例

    @Override
        public User selectByPrimaryKey(Integer id) throws Exception {
            User user1 = (User)redisService.getObj("user" + id);
            if(user1 == null){
                User user = userMapper.selectByPrimaryKey(id);
                redisService.setObj("user" + id, user, 1000*60*2);
                return user;
            }
            return user1;
        }
  • 相关阅读:
    【转】如何高效地阅读技术类书籍与博客
    测试站点大全
    【转】软件测试面试- 购物车功能测试用例设计
    div+css 定位浅析
    C# Enum,Int,String的互相转换
    sqlserver 空间数据类型
    系统学习sqlserver2012 一
    sql查询数据库中所有表的记录条数,以及占用磁盘空间大小。
    linux网站推荐
    匿名用户访问sharepoint2010中的列表
  • 原文地址:https://www.cnblogs.com/c9999/p/10337525.html
Copyright © 2011-2022 走看看