美文网首页
spring-boot整合Redis-基于Jedis

spring-boot整合Redis-基于Jedis

作者: bearPotMan | 来源:发表于2019-03-02 15:17 被阅读0次

    工具:IDEA
    spring boot version: 2.1.3

    1. 使用 Spring Initializr 创建最简单的spring-boot项目

    不用添加任何依赖,后面可以根据需要添加。

    1. 添加依赖:
    • spring-boot-redis + jedis
    <!-- spring-boot集成redis -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-redis</artifactId>
        <!-- 排除redis默认客户端lettuce -->
        <exclusions>
            <exclusion>
                <groupId>io.lettuce</groupId>
                <artifactId>lettuce-core</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <!-- 使用jedis作为redis的客户端 -->
    <dependency>
        <groupId>redis.clients</groupId>
        <artifactId>jedis</artifactId>
    </dependency>
    
    • spring-boot-web(后面编写接口测试)
    <!--web-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    
    1. application.properties配置redis
    # redis 配置
    # redis 服务器IP(默认:localhost)
    spring.redis.host=localhost
    # 端口号(默认:6379)
    spring.redis.port=6379
    # 客户端超时时间
    spring.redis.timeout=10000
    # 最大空闲数,使用负值表示不限数量(默认:8)
    spring.redis.jedis.pool.max-idle=8
    # 最大数据库连接数,使用负值表示无限制(默认:8)
    spring.redis.jedis.pool.max-active=8
    
    1. 启动本地 redis-server


      redis-server.png
    2. 测试代码
    • RedisUtil工具类(部分代码)
      该工具类来自:GitHub文档
    @Component
    public class RedisUtil {
        @Autowired
        private StringRedisTemplate redisTemplate;
        /**
         * 是否存在key
         * @param key
         * @return
         */
        public Boolean hasKey(String key) {
            return redisTemplate.hasKey(key);
        }
        
        /**
         * 设置指定 key 的值
         * @param key
         * @param value
         */
        public void set(String key, String value) {
            redisTemplate.opsForValue().set(key, value);
        }
        
        /**
         * 获取指定 key 的值
         * @param key
         * @return
         */
        public String get(String key) {
            return redisTemplate.opsForValue().get(key);
        }
        // 其他方法省略
    }
    
    • 测试接口代码
    @RestController
    public class RedisTestController {
    
        @Autowired
        private RedisUtil redisUtil;
    
        @RequestMapping("/key")
        public String getKey(String key){
            if(!redisUtil.hasKey(key)){
                redisUtil.set(key, "bearPotMan");
            }
            return redisUtil.get(key);
        }
    }
    
    1. 测试结果
      redis-test-result.png
      结束语:没有过多理论性的知识或原理的讲解,只是从一个普通开发的角度来使用。

    我是bearPotMan,一个经验不足的十八线演(码)员(农)。
    Know everything,control everything!

    相关文章

      网友评论

          本文标题:spring-boot整合Redis-基于Jedis

          本文链接:https://www.haomeiwen.com/subject/scgeuqtx.html