首页 > 数据库 >redis 正则匹配符合条件的key 进行删除

redis 正则匹配符合条件的key 进行删除

时间:2024-09-10 10:37:41浏览次数:1  
标签:index 删除 redis list cursor 正则 key size

//根据名字的key,如果key数量超过100,就进行一次删除

public int clearRedis(@PathVariable("prefix") String prefix) throws IOException { ScanOptions options = ScanOptions.scanOptions().match(prefix + "*").count(1000).build(); Cursor cursor = redisTemplate.getConnectionFactory().getConnection().scan(options); int index = 0; try { List<String> list = new ArrayList<>(); while (cursor.hasNext()) { index++; try { String key = new String((byte[]) cursor.next()); list.add(key); if (list.size() >= 100) { redisTemplate.unlink(list); log.info("删除{},{},{},{}", index, cursor.getPosition(), list.get(0), key); list.clear(); } } catch (Exception e) { log.error("error,{},{}", index, cursor.getPosition()); } } if (list.size() > 0) { redisTemplate.unlink(list); log.info("删除{},{},{},{}", index, cursor.getPosition(), list.get(0), list.get(list.size() - 1)); list.clear(); } } finally { cursor.close(); } return index; }

 

标签:index,删除,redis,list,cursor,正则,key,size
From: https://www.cnblogs.com/fishyues/p/18405920

相关文章

  • 第20篇 window系统安装Redis流程
    1.下载RedisforWindowsRedis官方并没有提供Windows版本的安装包,但你可以使用Microsoft维护的Windows版本的Redis。你可以从以下链接下载RedisforWindows:2.安装Redis运行安装程序:双击下载的.msi文件,启动安装程序。按照安装向导的提示进行安装。这里记得......
  • 微信小程序开发系列5----页面配置--WXML列表渲染-wxkey详解
        下图本来选中Switch1更新后选中的是Switch5了  使用下图红色部分就能解决,id是data里定义的换name也可以,红色部分不能写item.Id 注:不给wx:key会给一个警告,给了性能会更高 源码获取方式(免费):(1)登录-注册:http://resources.kittytiger.cn/(2)签到获取积分(3)搜索......
  • 四剑客_正则
    1四剑客1.1概述1.2find命令基本用法1.2.1找出/etc/目录下面以.conf结尾的文件⭐⭐⭐⭐⭐[root@Kylin-V10-sp3~/test]#find/etc/-typef-name*.conf|head-5/etc/resolv.conf/etc/dnf/protected.d/systemd.conf/etc/dnf/protected.d/sudo.conf/etc/dnf/protect......
  • 使用Redis来处理高并发问题
    设计理念:限流:鉴于只有少部分用户能够秒杀成功,所以要限制大部分流量,只允许少部分流量进入服务后端。削峰:对于秒杀系统瞬时会有大量用户涌入,所以在抢购一开始会有很高的瞬间峰值。高峰值流量是压垮系统很重要的原因,所以如何把瞬间的高流量变成一段时间平稳的流量也是设计秒杀系统......
  • redis 常用数据类型和常用命令
    一、数据类型在Redis中命令不区分大小写,但key是区分大小写的,帮助命令如下:helpcommandhelp@group解释:group是指数据类型,比如string、hash,这样就会把关于字符串或者是hash数据类型的所有命令列出来redis有十大数据类型,本文介绍常用的六种。1.1、string在一个字符串中存储......
  • redis常用知识汇总(包括 jedis 和 springboot 整合 redis)
    介绍Redis是一个开源的内存数据库,它支持多种数据结构,并且常用于高速缓存、会话管理、消息队列等场景。Redis的全称是RemoteDictionaryServer,是一种key-value(键值对)存储系统,能够以极高的性能处理大量数据的读写操作。Redis的主要特点:基于内存:数据存储在内存中,具有极高的......
  • redis常用知识汇总(包括 jedis 和 springboot 整合 redis)
    介绍Redis是一个开源的内存数据库,它支持多种数据结构,并且常用于高速缓存、会话管理、消息队列等场景。Redis的全称是RemoteDictionaryServer,是一种key-value(键值对)存储系统,能够以极高的性能处理大量数据的读写操作。Redis的主要特点:基于内存:数据存储在内存中,具有......
  • Redis分布式锁
    线程安全->锁,多线程并发执行的时候,执行先后的顺序,不确定,随机性->需要保证程序在任意执行顺序下,执行逻辑都是ok的,之前学过的锁,mutex,synchronized本质上只能在一个进程内部生效,分布式系统中,是有很多进程的(每个服务器,都是独立的进程)因此,之前的锁,就难以对现在的分布式系统中......
  • 【Redis】redis5种数据类型(哈希)
    目录基本介绍命令HSETHGETHEXISTSHKEYSHVALSHGETALLHMGETHLENHSETNXHINCRBYHINCRBYFLOATHSTRLEN内部编码原生字符串类型、哈希类型、序列化字符串json作缓存的区别基本介绍哈希类型中的映射关系是field-value,用于区分redis整体的键值对(key-value)命令H......
  • Redis缓存和Mysql数据一致性问题
            在高并发环境下,保持Redis缓存和MySQL数据库的数据一致性是一个复杂但至关重要的任务。下面是对这一问题的详细讲解,并结合PHP代码示例来展示如何解决这些一致性问题。问题背景Redis缓存和MySQL数据库的主要挑战在于:缓存和数据库之间的延迟:在缓存更......