Spring集成Redis,封裝RedisService

Redis是一個高性能的key-value數據庫,經常使用於搭建緩存系統,提升併發響應速度。Spring集成Redis只需簡單配置,本文進一步分享封裝的RedisService服務。
java


代碼文件git

功能要點github

SpringBoot集成Redisredis

pom.xmlspring

引入Redis依賴spring-boot-starter-data-redis數據庫

application.yml緩存

配置Redis服務器host, port服務器

封裝RedisService服務併發

RedisService.javaapp

封裝Redis調用:RedisTemplate, ValueOperations, ListOperations, HashOperations, SetOperations

單元測試

RedisServiceTest.java

測試封裝的Redis功能函數

功能調用

CheckController.java

增長REST接口/chk/cache,調用Redis讀寫功能

 

代碼

Github下載:https://github.com/jextop/StarterApi/


SpringBoot集成Redis

1. 新建SpringBoot項目時,選中Redis,將自動添加Redis依賴。

 image.png

2. 已有SpringBoot項目,能夠在pom.xml中直接引用Redis Starter:

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

3. application.yml中配置Redis服務器信息:

spring:
  redis:
    host: 127.0.0.1
    port: 6379
    database: 0
    password:
    timeout: 100
    jedis:
      pool:
        max-active: 8
        max-wait: -1
        max-idle: 10
        min-idle: 0

 

調用Redis功能函數,封裝服務RedisService.java

1. StringRedisTemplate對String類型的key和value封裝

2. 使用ValueOperations<String, String>對String操做

a) setStr()

b) getStr()

3. ValueOperations<Object, Object>對Object操做

a) set()

b) get()

4. ListOperations<Object, Object>對列表操做

a) lSet()

b) lGet()

5. HashOperations<Object, Object, Object>對哈希表操做

a) hSet()

b) hGet()

6. SetOperations<Object, Object>對集合操做

a) sSet()

b) sGet()

 

單元測試RedisServiceTest.java

 image.png

功能調用

1. 增長RestController:CheckController.java

2. 增長REST接口/chk/cache,調用Redis讀寫功能

@GetMapping(value = "/chk/cache")
public Object cache(@RequestAttribute(required = false) String ip) {
    // Get a unique key
    String key = String.format("cache_test_%s_%s_緩存", ip, CodeUtil.getCode());

    // Set cache
    redisService.setStr(key, key, 3);

    // Get cache
    String str = redisService.getStr(key);
 
    // Delete key
    redisService.delStr(key);

    return new HashMap<String, Object>() {{
        put("chk", "cache");
        put("msg", str);
        put("status", key.equals(str));
    }};
}

 

REST接口調用RedisService示例

 image.png

相關文章
相關標籤/搜索