zoukankan      html  css  js  c++  java
  • java-redis

    pom.xml添加如下配置:

    <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-data-redis</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-json</artifactId>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-pool2</artifactId>
                <version>2.4.3</version>
            </dependency>

    添加redis 配置类:

    /**
     * @author 
     * @date: 2019-01-09 11:14
     * @des: redis配置
     */
    @Configuration
    public class RedisTemplateConfig {
    
        @Bean
        public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) {
            RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
            redisTemplate.setConnectionFactory(redisConnectionFactory);
            GenericJackson2JsonRedisSerializer jackson2JsonRedisSerializer = new GenericJackson2JsonRedisSerializer();
            // 设置值(value)的序列化采用FastJsonRedisSerializer。
            redisTemplate.setValueSerializer(jackson2JsonRedisSerializer);
            // 设置键(key)的序列化采用StringRedisSerializer。
            redisTemplate.setKeySerializer(new StringRedisSerializer());
            redisTemplate.setHashKeySerializer(new StringRedisSerializer());
            redisTemplate.setHashValueSerializer(jackson2JsonRedisSerializer);
            redisTemplate.afterPropertiesSet();
            return redisTemplate;
        }
    
    }

    redisUtil常用方法工具类(可根据具体情况添加):

    /**
     * @author 
     * @date: 2019-01-09 11:14
     * @des: redis工具类
     */
    @Component
    public class RedisUtil {
    
        @Autowired
        StringRedisTemplate stringRedisTemplate;
        @Autowired
        RedisTemplate<String, Object> redisTemplate;
    
        /**
         * TODO 判断key是否存在
         * @param key
         * @return
         */
        public boolean hasKey(String key){
            try {
                return redisTemplate.hasKey(key);
            }catch (Exception e){
                e.printStackTrace();
                return false;
            }
        }
    
        /**
         * TODO 添加键值对
         * @param key
         * @param value
         */
        public void append(String key,String value){
            stringRedisTemplate.opsForValue().append(key,value);
        }
    
        /**
         * TODO 根据key获取值
         * @param key
         * @return
         */
        public String get(String key){
           return stringRedisTemplate.opsForValue().get(key);
        }
    
        /**
         *  TODO incr
         * @param key
         * @param delta 要增加几(大于0)
         * @return
         */
        public long incr(String key, long delta){
            if(delta<0){
                throw new RuntimeException("递增因子必须大于0");
            }
            return redisTemplate.opsForValue().increment(key, delta);
        }
    
    }
  • 相关阅读:
    global和$GLOBALS[]的区别
    【PHP设计模式】行为型之命令(Command)
    【PHP设计模式】行为型之访问者(Vistor)
    【转】PHP基础知识系列:heredoc
    【转】有趣儿的PHP文件操作常用函数总结
    PHP基础知识系列:对象串行化serialize与unserialize
    javascript疑难习题
    【PHP设计模式】行为型之适配器(Adapter)
    【PHP设计模式】创建型之建造者(Builder)
    Ambry: LinkedIn’s Scalable Geo-Distributed Object Store
  • 原文地址:https://www.cnblogs.com/dwxt/p/10473209.html
Copyright © 2011-2022 走看看