最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Springboot以Repository方式整合Redis的方法

 更新時間:2020年04月23日 09:12:02   作者:南瓜慢說  
這篇文章主要介紹了Springboot以Repository方式整合Redis的方法,本文通過圖文并茂實例詳解給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

1 簡介

Redis是高性能的NoSQL數(shù)據(jù)庫,經(jīng)常作為緩存流行于各大互聯(lián)網(wǎng)架構(gòu)中。本文將介紹如何在Springboot中整合Spring Data Redis,使用Repository的方式操作。

代碼結(jié)構(gòu)如下:

2 整合過程

2.1 安裝Redis數(shù)據(jù)庫

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

2.2 引入相關(guān)依賴

我們引入Springboot Web的依賴,以啟動REST服務。還需要引入Spring Data Redis相關(guān)的依賴。最后,還需要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的連接信息,這個信息跟你安裝時的配置有關(guān),同時配置了連接池,各項的配置及相關(guān)解釋如下:

# Redis數(shù)據(jù)庫索引,默認為0
spring.redis.database=0
# Redis端口
spring.redis.port=6379
# Redis服務器主機
spring.redis.host=localhost
# 連接池最大連接數(shù)
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 創(chuàng)建實體類

存入Redis中的數(shù)據(jù)類型,可以是自定義的一個類,注意需要加上注解@RedisHash@Id。存入Redis的數(shù)據(jù)為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 數(shù)據(jù)庫訪問層UserRepository接口

直接繼承CrudRepository接口就行了,不用自己來實現(xiàn),需要注意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 實現(xiàn)Controller

Controller實現(xiàn)了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進行測試,結(jié)果顯示的時間為GMT時間,每個功能測試如下:

(1)新增User

(2)根據(jù)UserId查詢特定User

(3)修改User

(4)刪除一個User

(5)查詢所有User

Redis中的數(shù)據(jù)如下所示:

4 總結(jié)

本文通過實例講解了如何整合SpringbootRedis,使用的是Repository的方式。

到此這篇關(guān)于Springboot以Repository方式整合Redis的文章就介紹到這了,更多相關(guān)Springboot以Repository方式整合Redis內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java EasyExcel讀寫excel如何解決poi讀取大文件內(nèi)存溢出問題

    Java EasyExcel讀寫excel如何解決poi讀取大文件內(nèi)存溢出問題

    這篇文章主要介紹了Java EasyExcel讀寫excel如何解決poi讀取大文件內(nèi)存溢出問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • Spring如何使用xml創(chuàng)建bean對象

    Spring如何使用xml創(chuàng)建bean對象

    這篇文章主要介紹了Spring如何使用xml創(chuàng)建bean對象,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-08-08
  • 使用Java生成32位16進制密鑰的代碼實現(xiàn)

    使用Java生成32位16進制密鑰的代碼實現(xiàn)

    在許多加密和安全應用中,生成隨機的密鑰是至關(guān)重要的一步,密鑰通常以16進制形式表示,并且具有特定的長度,在這篇博客中,我們將探討如何使用Java生成一個32位長度的16進制密鑰,并展示詳細的代碼示例和運行結(jié)果,需要的朋友可以參考下
    2024-08-08
  • java根據(jù)本地IP獲取mac地址的方法

    java根據(jù)本地IP獲取mac地址的方法

    這篇文章主要為大家詳細介紹了java根據(jù)本地IP獲取mac地址的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • Springboot跨域CORS處理實現(xiàn)原理

    Springboot跨域CORS處理實現(xiàn)原理

    這篇文章主要介紹了Springboot跨域CORS處理實現(xiàn)原理,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-04-04
  • Mybatis-Plus中Mapper的接口文件與xml文件相關(guān)的坑記錄

    Mybatis-Plus中Mapper的接口文件與xml文件相關(guān)的坑記錄

    這篇文章主要介紹了Mybatis-Plus中Mapper的接口文件與xml文件相關(guān)的坑記錄,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • Spring?Security實現(xiàn)添加圖片驗證功能

    Spring?Security實現(xiàn)添加圖片驗證功能

    這篇文章主要為大家介紹了Spring?Security實現(xiàn)添加圖片驗證功能詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-01-01
  • selenium+java+chrome環(huán)境搭建的方法步驟

    selenium+java+chrome環(huán)境搭建的方法步驟

    這篇文章主要介紹了selenium+java+chrome環(huán)境搭建的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-07-07
  • 深入理解Java8新特性之新日期時間API的應用

    深入理解Java8新特性之新日期時間API的應用

    自從 14 年發(fā)布 Java 8 以后,我們古老 java.util.Date 終于不再是我們 Java 里操作日期時間的唯一的選擇,其實 Java 里的日期時間的相關(guān) API 一直為世猿詬病,今天我們來了解新的日期時間API是怎么使用吧
    2021-11-11
  • 詳解如何使用IntelliJ IDEA新建一個Servlet項目

    詳解如何使用IntelliJ IDEA新建一個Servlet項目

    這篇文章主要介紹了詳解如何使用IntelliJ IDEA新建一個Servlet項目,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11

最新評論

车险| 大宁县| 河源市| 瓦房店市| 江陵县| 建瓯市| 方山县| 家居| 重庆市| 江口县| 葫芦岛市| 银川市| 方城县| 时尚| 新乐市| 灵宝市| 芦溪县| 元阳县| 崇仁县| 奉新县| 庆元县| 福州市| 南漳县| 九寨沟县| 四会市| 东兰县| 贵州省| 泗洪县| 密云县| 玉环县| 科技| 大宁县| 祁连县| 兴仁县| 宁波市| 会理县| 界首市| 屏东县| 玉屏| 兴业县| 泉州市|