Java 中如何批量删除 Redis 的数据?超详细,无套路

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: Java 中如何批量删除 Redis 的数据?超详细,无套路

这里我使用的是RedisTemplate模板

1、pom.xml依赖如下:

    <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-data-redis</artifactId>
            </dependency>

faee4e46164546029589b03e3052d7fb.png


以下工具类方法中会用到模板依赖:

    @Autowired
    private RedisTemplate<String, ?> redisTemplate;

2、模糊删除,比如:Redis的key前缀为 t*,则会删除库中key 为 t 开头的所有数据。

    public Long delByPrefix(final String prefixKey){
            Set<String> keys = redisTemplate.keys(prefixKey);
            if(!CollectionUtils.isEmpty(keys)) {
                return redisTemplate.delete(keys);
            }
            return null;
        }

3、模糊查询,跟模糊删除类似,传入要查询的key前缀即可

    //模糊删除根据前缀key
        public java.util.List<Map<String, Object>> queryByPrefix(final String prefixKey){
            Set<String> keys = redisTemplate.keys(prefixKey);
            java.util.List<Map<String,Object>> resultList=new ArrayList<Map<String,Object>>();
            if(!CollectionUtils.isEmpty(keys)) {
                for (String key : keys) {
                    Map<String, Object> map = new HashMap<String, Object>();
                    map.put(key, get(key));
                    resultList.add(map);
                }
            }
            return resultList;
        }

4、结语:如果需要精确查询或者删除,即可传入完整的 key 名。上面两个方法还支持命名空间的key批量删除。

附件:完整代码资源(弱弱的说一句,我设置的付费下载,但是也不多,如果实在囊中羞涩的可以私信我,我也可以免费提供)。

Java语言在springboot项目中针对Redis数据库的各种操作工具类-Java文档类资源-下载

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore &nbsp; &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
11天前
|
监控 NoSQL Java
场景题:百万数据插入Redis有哪些实现方案?
场景题:百万数据插入Redis有哪些实现方案?
33 1
场景题:百万数据插入Redis有哪些实现方案?
|
10天前
|
算法 Java 数据处理
从HashSet到TreeSet,Java集合框架中的Set接口及其实现类以其“不重复性”要求,彻底改变了处理唯一性数据的方式。
从HashSet到TreeSet,Java集合框架中的Set接口及其实现类以其“不重复性”要求,彻底改变了处理唯一性数据的方式。HashSet基于哈希表实现,提供高效的元素操作;TreeSet则通过红黑树实现元素的自然排序,适合需要有序访问的场景。本文通过示例代码详细介绍了两者的特性和应用场景。
31 6
|
9天前
|
存储 Java API
深入剖析Java Map:不只是存储数据,更是设计艺术的体现!
【10月更文挑战第17天】在Java编程中,Map是一种重要的数据结构,用于存储键值对,并展现了设计艺术的精髓。本文深入剖析了Map的设计原理和使用技巧,包括基本概念、设计艺术(如哈希表与红黑树的空间时间权衡)、以及使用技巧(如选择合适的实现类、避免空指针异常等),帮助读者更好地理解和应用Map。
38 3
|
1天前
|
SQL Java OLAP
java实现“数据平滑升级”
java实现“数据平滑升级”
17 2
|
5天前
|
SQL Java 关系型数据库
java连接mysql查询数据(基础版,无框架)
【10月更文挑战第12天】该示例展示了如何使用Java通过JDBC连接MySQL数据库并查询数据。首先在项目中引入`mysql-connector-java`依赖,然后通过`JdbcUtil`类中的`main`方法实现数据库连接、执行SQL查询及结果处理,最后关闭相关资源。
|
10天前
|
Java
Java Set以其“不重复”的特性,为我们提供了一个高效、简洁的处理唯一性约束数据的方式。
【10月更文挑战第16天】在Java编程中,Set接口确保集合中没有重复元素,每个元素都是独一无二的。HashSet基于哈希表实现,提供高效的添加、删除和查找操作;TreeSet则基于红黑树实现,不仅去重还能自动排序。通过这两个实现类,我们可以轻松处理需要唯一性约束的数据,提升代码质量和效率。
23 2
|
2天前
|
SQL Java OLAP
java实现“数据平滑升级”
java实现“数据平滑升级”
5 0
|
4天前
|
存储 NoSQL Java
Java 使用 Redis
10月更文挑战第22天
11 0
|
10天前
|
缓存 Java 数据处理
java查询大量数据优化
通过结合的高性能云服务,如其提供的弹性计算资源与全球加速网络,可以进一步增强这些优化策略的效果,确保数据处理环节更加迅速、可靠。蓝易云不仅提供稳定的基础架构,还拥有强大的安全防护和灵活的服务选项,是优化大型数据处理项目不可或缺的合作伙伴。
22 0
|
11天前
|
存储 数据采集 监控
将百万数据插入到 Redis,有哪些实现方案
【10月更文挑战第15天】将百万数据插入到 Redis 是一个具有挑战性的任务,但通过合理选择实现方案和进行性能优化,可以高效地完成任务。
45 0