首页 > 数据库 >SpringBoot依赖之Spring Data Redis一集合Set

SpringBoot依赖之Spring Data Redis一集合Set

时间:2024-08-19 18:26:11浏览次数:11  
标签:set SpringBoot Spring Redis value key public String

概念

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 实现集合(Set)

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

为了在 Spring Boot 项目中使用 Spring Data Redis 实现集合(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 SetOperations<String, Object> setOperations;

    public RedisService(RedisTemplate<String, Object> redisTemplate) {
        this.redisTemplate = redisTemplate;
        this.setOperations = redisTemplate.opsForSet();
    }

    // Set操作
    public void addToSet(String key, String value) {
        setOperations.add(key, value);
    }

    public Set<Object> getSetMembers(String key) {
        return setOperations.members(key);
    }

    public boolean isMemberOfSet(String key, String value) {
        return setOperations.isMember(key, value);
    }

    public void removeFromSet(String key, String value) {
        setOperations.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;
    }

    // Set操作
    @GetMapping("/set/add")
    public String addToSet(@RequestParam String key, @RequestParam String value) {
        redisService.addToSet(key, value);
        return "值已加入集合set";
    }

    @GetMapping("/set/members")
    public Set<Object> getSetMembers(@RequestParam String key) {
        return redisService.getSetMembers(key);
    }

    @GetMapping("/set/ismember")
    public boolean isMemberOfSet(@RequestParam String key, @RequestParam String value) {
        return redisService.isMemberOfSet(key, value);
    }

    @GetMapping("/set/remove")
    public String removeFromSet(@RequestParam String key, @RequestParam String value) {
        redisService.removeFromSet(key, value);
        return "值已从集合set移除";
    }
}
3. 验证测试set相关操作

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

Set 操作:

  • 添加成员到集合: http://localhost:8080/set/add?key=oneSet&value=一周一志程序员
  • 获取集合中的所有成员: http://localhost:8080/set/members?key=oneSet
  • 检查成员是否在集合中: http://localhost:8080/set/ismember?key=oneSet&value=一周一志程序员
  • 删除集合中的成员: http://localhost:8080/set/remove?key=oneSet&value=一周一志程序员
4. 总结

​ 通过上述步骤,我们成功在 Spring Boot 项目中使用 Spring Data Redis 实现了对 Redis 集合(set)类型的操作。您可以使用这些方法来处理去重、关系运算、多标签、多用户社交网络关系的数据结构需求。

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

标签:set,SpringBoot,Spring,Redis,value,key,public,String
From: https://blog.csdn.net/ahauedu/article/details/141305937

相关文章

  • springboot基于微信小程序的4S店试驾平台(源码+文档+调试+讲解)
    收藏关注不迷路!!......
  • 基于SpringBoot的手机销售网站
    现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本手机销售网站就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息,使用这种软件工具可以帮助管理人员提高事务处理效率,达到事半功......
  • SpringBoot系列:使用原生JDBC实现对数据库的增删改查
    application.ymlspring:datasource:username:rootpassword:123456url:jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8driver-class-name:com.mysql.cj.jdbc.DriverApplicationTest......
  • 【Redis分析】(一) 主从同步
    主从复制-数据备份,读写分离,手动高可用负载均衡:主结点只负责处理写请求,从节点负责读请求;主从复制,主机挂了,我们可以手动切换从机,还可以搭配哨兵实现自动切换,实现高可用;需要注意的是,在主从模式下,假设进行同步的过程中主节点宕机了,那么从节点此时还......
  • 【2025毕设热门选题】《基于SpringBoot+Vue的毕业设计管理系统》功能规划和开题报告
    博主介绍:8年资深码农、211小硕,全网10万+粉丝。文科生转码,所以非常懂小白学习历程。java领域优质创作者,擅长小白基础课程教学和项目讲解辅导。专注于Java技术领域和大学生毕业项目实战讲解已经5年,服务10000+小白客户。技术范围:自己手撸SpringBoot、Vue、javaweb网站、小程......
  • 国产操作系统 离线部署MYSQL、NGINX、redis、JDK1.8
    目录1.1、龙蜥操作系统8.4【AnolisOS8.4GA】1.2、安装关键步骤说明2.1、安装必要的系统组件2.2、配置JDK2.3、安装redis2.4、安装nginx2.5、安装mysql3.1、启用防火墙3.2、开放业务端口3.3、修改SSH端口号为100223.4、配置特定端口指定IP访问4.1、网络设置4.2......
  • K8S部署redis集群,并导入单机版redis数据到集群
    可能格式不怎么好看,就是提供一个思路1、编写一个config文件,给挂载到k8s容器里。这个文件是从网上找的,这个脚本没什么改的,redis的配置文件,可以根据自己的需求做修改添加config.yaml文件apiVersion:v1kind:ConfigMapmetadata:name:redis-cluster-configdata:fix-ip.......
  • 一款专为IntelliJ IDEA用户设计的插件,极大简化Spring项目中的API调试过程,功能强大(附源
    前言在软件开发过程中,尤其是SpringMVC(Boot)项目中,API调试调用是一项常见但繁琐的任务。现有的开发工具虽然提供了一些支持,但往往存在效率不高、操作复杂等问题。为了处理这些痛点,提升开发效率,一款新的工具应运而生。介绍CoolRequest是一款专为IntelliJIDEA用户设计的插......
  • springboot 缓存-cacheManager
    日常项目中如果对接口响应时间要求较高通常需要结合redis对接口进行缓存处理。1.pom文件中引入redisjar<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId><......
  • 记一次完整的SpringBatch批处理数据流程
    记一次完整的SpringBatch批处理数据流程需求从400多行数据的Excel表格中批量读取数据,根据读取的数据再去调用api,拿到关键返回数据后整合写入新Excel文件。excel表格仅第一列数据手机号为有效数据,需要读取。通过手机号调用api,获取手机号对应的学生信息-学院,班级,姓名,手机号......