zoukankan      html  css  js  c++  java
  • 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);
          }
      }
      
      

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



    作者:关小涛
    学习和分享是博客最大的乐趣,欢迎大家取之所需。
    努力是自己努力的原因,每周天写博客总结工作中的新技能和出现的问题
  • 相关阅读:
    HTML-DOM实例——实现带样式的表单验证
    HTML-DOM常用对象的用法(select/option/form/table)
    C++程序嵌入Python解释器二次开发
    线程池、协程
    Qt信号(SINGAL)与槽(SLOT)
    随机数
    字符串、内存拷贝
    模板元编程以及关键字template和typename
    std::thread,std::future,std::promise,std::async
    C++智能指针,RAII(资源获取即初始化) 原则
  • 原文地址:https://www.cnblogs.com/XtsLife/p/11350922.html
Copyright © 2011-2022 走看看