springboot根据Redis实现收藏
时间: 2023-12-20 13:07:42 浏览: 27
收藏功能可以使用Redis实现。Redis是一种内存数据库,它可以存储键值对,支持多种数据结构,例如字符串、列表、集合等。在实现收藏功能时,可以使用Redis的集合(Set)数据结构来存储用户的收藏。
具体实现步骤如下:
1. 配置Redis依赖
在pom.xml文件中添加Redis依赖:
```
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
```
2. 配置Redis连接信息
在application.properties文件中配置Redis连接信息:
```
spring.redis.host=127.0.0.1
spring.redis.port=6379
```
3. 定义收藏接口
在Controller中定义收藏接口,例如:
```
@RestController
@RequestMapping("/collection")
public class CollectionController {
@Autowired
private RedisTemplate<String, Object> redisTemplate;
@PostMapping("/{userId}/{itemId}")
public void addCollection(@PathVariable String userId, @PathVariable String itemId) {
String key = "collection:" + userId;
redisTemplate.opsForSet().add(key, itemId);
}
@GetMapping("/{userId}")
public Set<Object> getCollection(@PathVariable String userId) {
String key = "collection:" + userId;
return redisTemplate.opsForSet().members(key);
}
@DeleteMapping("/{userId}/{itemId}")
public void removeCollection(@PathVariable String userId, @PathVariable String itemId) {
String key = "collection:" + userId;
redisTemplate.opsForSet().remove(key, itemId);
}
}
```
4. 调用收藏接口
在前端页面中调用收藏接口,例如:
```
<button onclick="addCollection('1', '1001')">收藏</button>
<button onclick="removeCollection('1', '1001')">取消收藏</button>
<script>
function addCollection(userId, itemId) {
$.ajax({
url: '/collection/' + userId + '/' + itemId,
type: 'POST',
success: function() {
alert('收藏成功');
}
});
}
function removeCollection(userId, itemId) {
$.ajax({
url: '/collection/' + userId + '/' + itemId,
type: 'DELETE',
success: function() {
alert('取消收藏成功');
}
});
}
</script>
```
以上就是使用Redis实现收藏功能的步骤。通过Redis的集合数据结构,可以方便地实现收藏的增加、查询和删除。同时,Redis具有高性能、可扩展性等优点,可以满足高并发的应用场景。