当前位置: 首页 > news >正文

SpringBoot依赖之Spring Data Redis一有序集合Sorted Set

概念

Spring Data Redis (Access+Driver)
  • 依赖名称: Spring Data Redis (Access+Driver)
  • 功能描述: Advanced and thread-safe Java Redis client for synchronous, asynchronous, and reactive usage. Supports Cluster, Sentinel, Pipelining, Auto-Reconnect, Codecs and much more.
  • 中文释义:用于同步、异步和反应式使用的高级且线程安全的 Java Redis 客户端。支持集群、哨兵、管道、自动重新连接、编解码器等。

项目学习代码地址

操作演示:

在IDEA中创建项目过程可以参考上一篇:
SpringBoot依赖之Spring Data Redis 一 String类型

Spring Boot 项目中使用 Spring Data Redis 实现有序集合(Sorted Set)

接下来我们演示在 Spring Boot 项目中使用 Spring Data Redis 实现有序集合(Sorted Set)操作,我们可以在之前的项目代码基础上扩展 Redis 服务类和控制器类,以支持对 Redis 列表的常见操作。以下是具体的实现步骤。

为了在 Spring Boot 项目中使用 Spring Data Redis 实现有序集合(Sorted Set)操作,我们可以在之前的项目代码基础上扩展 Redis 服务类和控制器类,以支持对 Redis 列表的常见操作。以下是具体的实现步骤。

1. 更新 Redis 服务类

RedisService 类中添加列表相关的方法。

package com.dependencies.springdataredis;import org.springframework.data.redis.core.*;
import org.springframework.stereotype.Service;import java.util.List;@Service
public class RedisService {private final RedisTemplate<String, Object> redisTemplate;private final ZSetOperations<String, Object> zSetOperations;public RedisService(RedisTemplate<String, Object> redisTemplate) {this.redisTemplate = redisTemplate;this.zSetOperations = redisTemplate.opsForZSet();}// Sorted Set操作public void addToSortedSet(String key, String value, double score) {zSetOperations.add(key, value, score);}public Set<Object> getSortedSetRange(String key, long start, long end) {return zSetOperations.range(key, start, end);}public void removeFromSortedSet(String key, String value) {zSetOperations.remove(key, value);}
}
2. 更新控制器类

RedisController 中添加处理列表操作的端点。

package com.dependencies.springdataredis;import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;import java.util.List;/*** @author zhizhou   2024/8/17 12:02*/
@RestController
public class RedisController {private final RedisService redisService;public RedisController(RedisService redisService) {this.redisService = redisService;}// Sorted Set操作@GetMapping("/zset/add")public String addToSortedSet(@RequestParam String key, @RequestParam String value, @RequestParam double score) {redisService.addToSortedSet(key, value, score);return "值已加入有序集合sorted set";}@GetMapping("/zset/range")public Set<Object> getSortedSetRange(@RequestParam String key, @RequestParam long start, @RequestParam long end) {return redisService.getSortedSetRange(key, start, end);}@GetMapping("/zset/remove")public String removeFromSortedSet(@RequestParam String key, @RequestParam String value) {redisService.removeFromSortedSet(key, value);return "值已从有序集合sorted set移除";}
}
3. 验证测试Sorted set相关操作

我们启动项目以后,就通过以下的额 URL 测试 Redis 列表的功能:

Sorted Set 操作:

  • 添加成员到有序集合: http://localhost:8080/zset/add?key=oneZSet&value=一周一志程序员&score=1.0
  • 获取有序集合中的成员范围: http://localhost:8080/zset/range?key=oneZSet&start=0&end=-1
  • 删除有序集合中的成员: http://localhost:8080/zset/remove?key=oneZSet&value=一周一志程序员

在这里插入图片描述
在这里插入图片描述

4. 总结

​ 通过上述步骤,我们成功在 Spring Boot 项目中使用 Spring Data Redis 实现了对 Redis 有序集合(Sorted Set)类型的操作。您可以使用这些方法来处理排行榜、定时任务和延时队列的数据结构需求。

​ 这是基本的有序集合Sorted Set相关操作,还是要结合具体的业务选择具体的存储类型,这样对于项目后期的迭代具有事半功倍的效果。所以项目前期的技术选型也很重要,不容忽视。可以关注我一起学习,一起为程序员职业生涯蓄能。


http://www.mrgr.cn/news/859.html

相关文章:

  • 【python】在Python中读取和加解密PDF文件的详细教程与应用实战
  • [000-01-030].第7节:Zookeeper工作原理
  • 自定义类型:联合和枚举
  • ansync/await 运行流程图
  • docker部署lnmp
  • 理解Linux中的作业控制:详解fg、bg和jobs命令
  • 微服务设计原则——高性能:异步与并发
  • JaCoCo作为Agent获取Java覆盖率
  • 天童美语:世界左撇子日
  • package.json 中 browser 字段规范
  • 基于微信小程序地图实现点位标注、覆盖物、地图聊天
  • C++——入门基础(上)
  • 机器学习:逻辑回归原理、参数介绍和优缺点
  • Python实现水果忍者(开源)
  • 第二十二节、创建人物状态栏
  • 数字货币发行项目开发基本要求及模式创建与海外宣发策略
  • Docker最佳实践进阶(二):Docker Compose容器编排
  • MATLAB算法实战应用案例精讲-【人工智能】【概念篇】多方安全计算
  • 【解析几何笔记】3.向量分解定理
  • 微信支付流程