1. 程式人生 > >Spring Boot2.0之整合Redis

Spring Boot2.0之整合Redis

需要的maven依賴 jar包,是對Jedis的封裝

maven依賴:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>redis</groupId>
  <artifactId>com.toov5.redis</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.0.RELEASE</version>
    </parent>
    <dependencies>
        <!-- SpringBoot web 核心元件 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>
    </dependencies>


    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <maimClass>
                        com.itmayiedu.controller.IndexController
</maimClass> </configuration> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </project>

 專案的目錄結構:

redis中程式碼的封裝:

package com.toov5.service;

import java.util.Set;
import java.util.concurrent.TimeUnit;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Component;

@Component
public class RedisService { @Autowired private StringRedisTemplate stringRedisTemplate; //這樣該方法支援多種資料型別 public void set(String key , Object object, Long time){ if (object instanceof String ) { //判斷下是String型別不 String argString =(String)object; //強轉下 //存放String型別的 stringRedisTemplate.opsForValue().set(key, argString); } //如果存放Set型別 if (object instanceof Set) { Set<String> valueSet =(Set<String>)object; for(String string:valueSet){ stringRedisTemplate.opsForSet().add(key, string); //此處點選下原始碼看下 第二個引數可以放好多 } } //設定有效期 if (time != null) { stringRedisTemplate.expire(key, time, TimeUnit.SECONDS); } } //做個封裝 public void setString(String key, Object object){ String argString =(String)object; //強轉下 //存放String型別的 stringRedisTemplate.opsForValue().set(key, argString); } public void setSet(String key, Object object){ Set<String> valueSet =(Set<String>)object; for(String string:valueSet){ stringRedisTemplate.opsForSet().add(key, string); //此處點選下原始碼看下 第二個引數可以放好多 } } public String getString(String key){ return stringRedisTemplate.opsForValue().get(key); } }

controller

package com.toov5.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import com.toov5.service.RedisService;

@RestController
public class IndexController {
  @Autowired
  private RedisService redisService;
    
   @RequestMapping("/setString")
   public String setString(String key, String value){
       redisService.set(key, value, 500l); //超時時間500s   l表示long型
       return "成功";
   }
   
   @RequestMapping("get")
   public String get(String key){
       return redisService.getString(key);
   }
}

啟動類

package com.toov5.app;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication(scanBasePackages={"com.toov5.*"})
public class app {
 public static void main(String[] args) {
    SpringApplication.run(app.class, args);
}
}

執行結果:

redis:

到期了後 就沒了哦 過期了