新聞中心
示例使用注解緩存Redis的實(shí)現(xiàn)示例

Redis是一款流行的內(nèi)存數(shù)據(jù)庫,具有高性能和可擴(kuò)展性。它支持多種數(shù)據(jù)結(jié)構(gòu)和操作,在web開發(fā)中常用于緩存和消息隊(duì)列等場(chǎng)景。在本文中,我們將介紹使用注解實(shí)現(xiàn)Redis緩存的示例。
一、準(zhǔn)備工作
在 IntelliJ idEA 中,我們需要添加對(duì) Redis 和 Spring Boot 的依賴。具體可以在 pom.xml 文件中添加以下依賴:
“`xml
org.springframework.boot
spring-boot-starter-data-redis
org.springframework.boot
spring-boot-starter-web
在 application.properties 中添加以下配置:
spring.redis.host=localhost
spring.redis.port=6379
二、創(chuàng)建實(shí)體類
我們創(chuàng)建一個(gè) user 類作為示例。代碼如下:
```java
@Data
@NoArgsConstructor
@AllArgsConstructor
PUBLIC class User {
private Long id;
private String name;
private int age;
}
三、創(chuàng)建緩存類
我們創(chuàng)建一個(gè) UserCache 類作為緩存類,并使用注解實(shí)現(xiàn)具體的緩存操作。代碼如下:
“`java
@Component
public class UserCache {
@Autowired
private RedisTemplate redisTemplate;
private final String REDIS_KEY_PREFIX = “user”;
@Cacheable(value = “getUserById”, key = “#id.toString()”)
public User getUserById(Long id) {
String key = REDIS_KEY_PREFIX + id.toString();
return redisTemplate.opsForValue().get(key);
}
@CachePut(value = “getUserById”, key = “#user.id.toString()”)
public User updateUser(User user) {
String key = REDIS_KEY_PREFIX + user.getId();
redisTemplate.opsForValue().set(key, user);
return user;
}
@CacheEvict(value = “getUserById”, key = “#id.toString()”)
public void deleteUserById(Long id) {
String key = REDIS_KEY_PREFIX + id.toString();
redisTemplate.delete(key);
}
}
在此代碼中,我們定義了三個(gè)緩存操作:
- getUserById:根據(jù)用戶 ID 獲取緩存中的用戶信息,加上了緩存注解。
- updateUser:更新用戶信息,同時(shí)更新緩存中的用戶信息。
- deleteUserById:刪除用戶信息,同時(shí)從緩存中刪除用戶信息。
四、控制器類中調(diào)用緩存類
我們創(chuàng)建一個(gè) UserController 控制器類,直接調(diào)用 UserCache 類中定義的緩存操作。代碼如下:
```java
@RestController
public class UserController {
@Autowired
UserCache userCache;
@GetMapping("/user/{id}")
public User getUser(@PathVariable Long id) {
return userCache.getUserById(id);
}
@PutMapping("/user")
public User updateUser(@RequestBody User user) {
return userCache.updateUser(user);
}
@DeleteMapping("/user/{id}")
public void deleteUser(@PathVariable Long id) {
userCache.deleteUserById(id);
}
}
在此代碼中,我們使用了 @GetMapping、@PutMapping 和 @DeleteMapping 注解來定義 RESTful 風(fēng)格的 HTTP 接口。其中,@GetMapping(“/user/{id}”) 注解表示根據(jù)用戶 ID 查詢用戶信息的接口;@PutMapping(“/user”) 注解表示更新用戶信息的接口;@DeleteMapping(“/user/{id}”) 注解表示刪除用戶信息的接口。
五、測(cè)試接口
我們啟動(dòng)服務(wù)后,使用 curl 命令來測(cè)試接口。例如,查詢用戶 ID 為 1 的信息,命令如下:
“`bash
curl http://localhost:8080/user/1
輸出如下:
```json
{"id":1,"name":"張三","age":20}
六、總結(jié)
在本文中,我們通過示例演示了如何使用注解實(shí)現(xiàn)緩存 Redis。在實(shí)際開發(fā)中,我們可以根據(jù)需要自定義緩存類和緩存操作,從而實(shí)現(xiàn)更靈活和高效的緩存管理。
創(chuàng)新互聯(lián)【028-86922220】值得信賴的成都網(wǎng)站建設(shè)公司。多年持續(xù)為眾多企業(yè)提供成都網(wǎng)站建設(shè),成都品牌網(wǎng)站設(shè)計(jì),成都高端網(wǎng)站制作開發(fā),SEO優(yōu)化排名推廣服務(wù),全網(wǎng)營銷讓企業(yè)網(wǎng)站產(chǎn)生價(jià)值。
網(wǎng)頁名稱:示例使用注解緩存Redis的實(shí)現(xiàn)示例(redis用注解緩存)
網(wǎng)頁鏈接:http://www.dlmjj.cn/article/coigeih.html


咨詢
建站咨詢
