springboot 連線redis
阿新 • • 發佈:2021-01-22
安裝文章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");
}
}