Redis的簡單封裝

目錄結構

在這裏插入圖片描述

controller源代碼

package com.zuojie.service.controller;

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

import java.util.ArrayList;
import java.util.List;

@RestController
public class IndexController {
    @Autowired
    RedisService redisService;
    @RequestMapping("/setString")
    public String setString(String key,String value){
        redisService.setString(key,value);
        return "success";
    }

    @RequestMapping("/setList")
    public String setList(String key,String value){
        List<String> listString=new ArrayList<String>();
        listString.add("123");
        listString.add("234");

        return "success";
    }
    @RequestMapping("/getKey")
    public String getKey(String key){
        return  redisService.getStringKey(key);


    }


}

RedisService源碼

package com.zuojie.service.controller;

import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.concurrent.TimeUnit;

@Service
public class RedisService {
    @Autowired
    private StringRedisTemplate stringRedisTemplate;

    public void setString(String key,String value){
        this.setObject(key,value,null);
    }

    public void setString(String key,String value,Long time){
        this.setObject(key,value,time);
    }

    public void setList(String key,List<String> listValue){
        this.setObject(key,listValue,null);
    }


    public void setObject(String key,Object value,Long time){
        //redis的幾種數據類型 string list set zset hash
        if(StringUtils.isEmpty(key)||value==null){
            return;
        }
        //判斷類型 存放String類型的
        if(value instanceof String){
            String strValue=(String)value;
            stringRedisTemplate.opsForValue().set(key,strValue);
            if(time!=null){
                stringRedisTemplate.opsForValue().set(key,strValue,time, TimeUnit.SECONDS);
            }
            return;

        }
        //存放list類型
        if(value instanceof List){
            List<String>listValue= (List<String>)value;
            for (String string:listValue
                 ) {
                stringRedisTemplate.opsForList().leftPush(key,string);

            }
            return;
        }
    }
    public String getStringKey(String key){
        return stringRedisTemplate.opsForValue().get(key);

    }
}

配置文件

########################################################
###Redis (RedisConfiguration)
########################################################
spring.redis.database=0
spring.redis.host=10.211.55.8
spring.redis.port=6379
spring.redis.password=zj123456
spring.redis.pool.max-idle=8
spring.redis.pool.min-idle=0
spring.redis.pool.max-active=8
spring.redis.pool.max-wait=-1
spring.redis.timeout=5000

pom文件

<?xml version="1.0" encoding="UTF-8"?>
<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>com.zuojie</groupId>
    <artifactId>spring-redis</artifactId>
    <version>1.0-SNAPSHOT</version>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.3.RELEASE</version>
    </parent>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <!-- https://mvnrepository.com/artifact/commons-lang/commons-lang -->
        <dependency>
            <groupId>commons-lang</groupId>
            <artifactId>commons-lang</artifactId>
            <version>2.5</version>
        </dependency>
    </dependencies>






</project>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章