Spring data redis的使用

Spring data redis的使用

一、Redis的安装和使用

Redis是用C语言开发的一个高性能键值对数据库,可用于数据缓存,主要用于处理大量数据的高访问负载。

下载地址:https://github.com/MicrosoftArchive/redis/releases

解压后:在当前地址栏输入cmd后,执行redis的启动命令:redis-server.exe redis.windows.conf

二、整合Redis

  • 添加项目依赖
    <!--redis依赖配置-->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-data-redis</artifactId>
    </dependency>
  • 修改SpringBoot的配置文件

    redis:
      host: localhost  # Redis服务器地址
      datasource: 0 # Redis数据库索引(默认为0)
      port: 6379 # Redis服务器连接端口
      password: # Redis服务器连接密码(默认为空)
      jedis:
        pool:
          max-active: 8 # 连接池最大连接数(使用负值表示没有限制)
          max-wait: -lms # 连接池最大阻塞等待时间(使用负值表示没有限制)
          max-idea: 8 # 连接池中的最大空闲连接数
          min-idea: 0 # 连接池中的最小空闲连接
      timeout: 3000ms # 连接超时时间(毫秒)
    
  • 添加RedisService接口用于定义一些常用的Redis操作

    package top.xtslife.mall.service;
    
    /**
     * redis操作Service
     * 对象和数组都以json的形式进行存储
     * @Author 小涛
     * @Create 2019/8/10 11:12
     */
    public interface RedisService {
        /**
         * 存储数据
         */
        void set(String key, String value);
    
        /**
         * 获取数据
         */
        String get(String key);
    
        /**
         * 设置超期时间
         */
        boolean expire(String key, long expire);
    
        /**
         * 删除数据
         */
        void remove(String key);
    
        /**
         * 自增操作
         * @param key
         * @param delta 自增步长
         * @return
         */
        Long increment(String key, long delta);
    }
    
  • 注入StringRedisTemplate,实现RedisService接口

    package top.xtslife.mall.service.impl;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.data.redis.core.StringRedisTemplate;
    import org.springframework.stereotype.Service;
    import top.xtslife.mall.service.RedisService;
    
    import java.util.concurrent.TimeUnit;
    
    /**
     * redis操作service的实现类
     * @Author 小涛
     * @Create 2019-08-10  11:17
     */
    @Service
    public class RedisServiceImpl implements RedisService {
        @Autowired
        private StringRedisTemplate stringRedisTemplate;
    
        @Override
        public void set(String key, String value) {
            stringRedisTemplate.opsForValue().set(key, value);
        }
    
        @Override
        public String get(String key) {
            return stringRedisTemplate.opsForValue().get(key);
        }
    
        @Override
            public boolean expire(String key, long expire) {
            return stringRedisTemplate.expire(key,expire,TimeUnit.SECONDS);
        }
    
        @Override
        public void remove(String key) {
            stringRedisTemplate.delete(key);
        }
    
        @Override
        public Long increment(String key, long delta) {
            return stringRedisTemplate.opsForValue().increment(key, delta);
        }
    }
    
    

    --先简单的到这里,后面继续补充完善

posted @ 2019-08-14 11:29  SweetLove  阅读(290)  评论(0编辑  收藏  举报