1. 程式人生 > 其它 >springboot 連線redis

springboot 連線redis

技術標籤:JavaRedisjava後端redis

安裝文章https://blog.csdn.net/yeluo_vinager/article/details/103680059

問題:

F:\soft\Redis-x64-3.2.100>redis-server.exe --service-start --Service-name RedisServer1

[14752] 21 Jan 14:30:59.337 # HandleServiceCommands: system error caught. error code=1060, message = OpenService failed: unknown error

解決

沒有啟動

redis-server.exe --service-install redis.windows.conf --service-name redis1

redis-server.exe --service-start --Service-name redis;啟動

springboot 使用

依賴


<!--引入redis依賴-->
<dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-data-redis</artifactId>
 <version>2.4.0</version>
</dependency>

Application.yml配置redis

spring:

 redis:
 host: 127.0.0.1 #配置redis的主機地址,需要修改成自己的
 database: 50
 port: 6379
 password: #設定自己的密碼
 jedis:
 pool:
 max-active: 50 # 如果賦值為-1,則表示不限制;如果pool已經分配了maxActive個jedis例項,則此時pool 的狀態為exhausted(耗盡)
 max-idle: 20 # 連線池中的最大空閒連線,預設值也是8。
 min-idle: 5 # 連線池中的最小空閒連線,預設值也是0。
 # max-wait: 5 # 等待可用連線的最大時間,單位毫秒,預設值為-1,表示永不超時。如果超過等待時間,則直接 丟擲JedisConnectionException

新增Api

package com.example.client.service;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import org.springframework.data.redis.core.*;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;

@Component
public class RedisService {
//redis提供了RedisTemplate 和 StringRedisTemplate模板

 @Resource
 private StringRedisTemplate stringRedisTemplate;

 @Resource
 private StringRedisTemplate RedisTemplate;

 /*
新建一個 RedisService,注入 StringRedisTemplate,使用 stringRedisTemplate.opsForValue()
可以獲取 ValueOperations<String, String> 物件,通過該物件即可讀寫 redis 資料庫了。
*/

 public void setRediskv(String key,String value){
 ValueOperations<String, String> forValue = RedisTemplate.opsForValue();
 forValue.set(key,value);
 }

 public String getRediskv(String key){
 String s = stringRedisTemplate.opsForValue().get(key);
 return s;
 }
}

測試

package com.example.client.controller;
import com.example.client.service.RedisService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;


@Api(tags = "測試controller") //介面描述
@RestController
@RequestMapping("Test")
public class TestController {

 @Resource
 private RedisService redisService;

 @ApiOperation(value = "查詢子節點" , notes="查詢樹葉子節點(資料夾)")
 @GetMapping("/getMessage")
 public String getMessage() {
 return "hello, I am client.";
 }

 //測試物件型別
 @GetMapping("setRedisObj")
 public String setRedisObj(){
 redisService.setRediskv("csdn","果vinegar");
 return "success";
 }

 @GetMapping("getRedisObj")
 public String getRedisObj(){
 return redisService.getRediskv("csdn");
 }

}

先呼叫http://localhost:8081/Test/setRedisObj

然後呼叫http://localhost:8081/Test/getRedisObj