91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Springboot如何以Repository方式整合Redis

發布時間:2020-08-01 10:21:55 來源:億速云 閱讀:187 作者:小豬 欄目:編程語言

這篇文章主要講解了Springboot如何以Repository方式整合Redis,內容清晰明了,對此有興趣的小伙伴可以學習一下,相信大家閱讀完之后會有幫助。

1 簡介

Redis是高性能的NoSQL數據庫,經常作為緩存流行于各大互聯網架構中。本文將介紹如何在Springboot中整合Spring Data Redis,使用Repository的方式操作。

代碼結構如下:

Springboot如何以Repository方式整合Redis

2 整合過程

2.1 安裝Redis數據庫

為了節省時間,就直接通過Docker來安裝了,可以參考文章:Docker安裝Redis并介紹漂亮的可視化客戶端進行操作,可以快速安裝并使用客戶端進行查看和操作。

2.2 引入相關依賴

我們引入Springboot Web的依賴,以啟動REST服務。還需要引入Spring Data Redis相關的依賴。最后,還需要commons-pool2,不然會因為缺少類而無法啟動。

<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>
<dependency>
 <groupId>org.apache.commons</groupId>
 <artifactId>commons-pool2</artifactId>
</dependency>

2.3 配置連接信息

配置Redis的連接信息,這個信息跟你安裝時的配置有關,同時配置了連接池,各項的配置及相關解釋如下:

# Redis數據庫索引,默認為0
spring.redis.database=0
# Redis端口
spring.redis.port=6379
# Redis服務器主機
spring.redis.host=localhost
# 連接池最大連接數
spring.redis.lettuce.pool.max-active=8
# 連接池最大空閑
spring.redis.lettuce.pool.max-idle=8
# 連接池最小空閑
spring.redis.lettuce.pool.min-idle=2
# 連接池最大阻塞等待時間
spring.redis.lettuce.pool.max-wait=1ms
# 超時時間
spring.redis.lettuce.shutdown-timeout=100ms

2.4 創建實體類

存入Redis中的數據類型,可以是自定義的一個類,注意需要加上注解@RedisHash@Id。存入Redis的數據為Set類型。

具體代碼如下:

package com.pkslow.redis.model;

import org.springframework.data.annotation.Id;
import org.springframework.data.redis.core.RedisHash;
import java.util.Date;

@RedisHash("User")
public class User {
 @Id
 private String userId;
 private String name;
 private Integer age;
 private Date createTime = new Date();

 public String getUserId() {
 return userId;
 }

 public void setUserId(String userId) {
 this.userId = userId;
 }

 public String getName() {
 return name;
 }

 public void setName(String name) {
 this.name = name;
 }

 public Integer getAge() {
 return age;
 }

 public void setAge(Integer age) {
 this.age = age;
 }

 public Date getCreateTime() {
 return createTime;
 }

 public void setCreateTime(Date createTime) {
 this.createTime = createTime;
 }
}

2.5 數據庫訪問層UserRepository接口

直接繼承CrudRepository接口就行了,不用自己來實現,需要注意CrudRepository<User, String>的泛型類型:

package com.pkslow.redis.dal;

import com.pkslow.redis.model.User;
import org.springframework.data.repository.CrudRepository;

public interface UserRepository extends CrudRepository<User, String> {
}

2.6 實現Controller

Controller實現了RESTful風格的增刪改查功能,只要把UserRepository注入便可以使用它來操作:

package com.pkslow.redis.controller;

import com.pkslow.redis.dal.UserRepository;
import com.pkslow.redis.model.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

@RestController
@RequestMapping("/user")
public class UserController {
 @Autowired
 private final UserRepository userRepository;

 public UserController(UserRepository userRepository) {
 this.userRepository = userRepository;
 }

 @GetMapping("")
 public Iterable<User> getAllUsers() {
 return userRepository.findAll();
 }

 @GetMapping("/{userId}")
 public User getByUserId(@PathVariable String userId) {
 return userRepository.findById(userId).orElse(new User());
 }

 @PostMapping("")
 public User addNewUser(@RequestBody User user) {
 return userRepository.save(user);
 }

 @DeleteMapping("/{userId}")
 public String delete(@PathVariable String userId) {
 User user = new User();
 user.setUserId(userId);
 userRepository.deleteById(userId);
 return "deleted: " + userId;
 }

 @PutMapping("")
 public User update(@RequestBody User user) {
 return userRepository.save(user);
 }
}

3 Postman接口測試

本文使用Postman進行測試,結果顯示的時間為GMT時間,每個功能測試如下:

(1)新增User

Springboot如何以Repository方式整合Redis

(2)根據UserId查詢特定User

Springboot如何以Repository方式整合Redis

(3)修改User

Springboot如何以Repository方式整合Redis

(4)刪除一個User

Springboot如何以Repository方式整合Redis

(5)查詢所有User

Springboot如何以Repository方式整合Redis

Redis中的數據如下所示:

Springboot如何以Repository方式整合Redis

看完上述內容,是不是對Springboot如何以Repository方式整合Redis有進一步的了解,如果還想學習更多內容,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宜丰县| 越西县| 丹阳市| 宜宾市| 咸阳市| 大埔区| 福贡县| 札达县| 邹平县| 长汀县| 盐山县| 福海县| 茂名市| 金堂县| 黑龙江省| 红河县| 绥化市| 宁陕县| 襄城县| 循化| 清徐县| 烟台市| 揭西县| 昌江| 大丰市| 广南县| 斗六市| 东港市| 濮阳市| 栾川县| 东明县| 大宁县| 崇文区| 天津市| 沅江市| 松阳县| 景宁| 定陶县| 任丘市| 会理县| 新乐市|