RedisTemplate删除指定前缀Keys

这篇具有很好参考价值的文章主要介绍了RedisTemplate删除指定前缀Keys。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

根据前缀keyPre 删除keys

        String keyPre = "CONTROLLER_getTodayStocks_1";
        Set keys = redisTemplate.keys(keyPre + "*");
        if (ObjectUtil.isNotEmpty(keys)) {
            redisTemplate.delete(keys);
        }

debug看下执行流程:
1、keyPro不能为空
redisTemplate.keys()方法里面有个断言,为空就失败
RedisTemplate删除指定前缀Keys2、序列化keyPre,把字符串变为字节数组
RedisTemplate删除指定前缀Keys这里可以看到如果keyPre为null,序列化之后返回null
3、这里会拿到redis中所有匹配上的key,然后执行excute两个参数的方法
RedisTemplate删除指定前缀Keys执行excute方法传入两个参数 1、连接对象,这个对象是后面创建的 2、true,表示暴露这个连接
RedisTemplate删除指定前缀Keys然后执行三个参数的方法 1、回调 2、表示暴露连接 3、表示不使用管道

管道(pipeline)可以一次性发送多条命令并在执行完后一次性将结果返回,pipeline 通过减少客户端与 redis 的通信次数来实现降低往返延时时间,而且 Pipeline 实现的原理是队列,而队列的原理是时先进先出,这样就保证数据的顺序性。

RedisTemplate删除指定前缀Keys现在执行三参数的excute
1、拿到连接工厂
2、创建redis连接对象,未开启事务支持
RedisTemplate删除指定前缀Keys3、看一下redis事务同步管理器中是否存在连接
4、对redis连接对象前置处理
RedisTemplate删除指定前缀Keys5、判断连接是否使用了pipeline,只有开启了pipeline这里才会开开pipeline
6、判断是否暴露连接,很显然两个参数的excute是暴露连接了的,这时使用前面创建好的连接对象,否则会创建一个代理连接对象
RedisTemplate删除指定前缀Keys7、接下来redis该行动了
RedisTemplate删除指定前缀Keys8、这里根据前面创建的连接和keyPre,执行keys方法

9、在这里执行keys方法,执行invoke方法返回一个Set集合

RedisTemplate删除指定前缀Keysinvoke执行doInvoke
RedisTemplate删除指定前缀Keys这里调用redis连接池执行命令,这里会等待执行命令的线程返回结果
RedisTemplate删除指定前缀Keys

10、执行完doInRedis之后就拿到符合匹配条件的keys
11、判断是否有管道开启,开的的话就关闭
12、RedisTemplate对结果进行后置处理
13、断开连接,返回结果
RedisTemplate删除指定前缀Keys14、可以看到此时已经获取到redis中匹配的key
RedisTemplate删除指定前缀Keys文章来源地址https://www.toymoban.com/news/detail-413103.html

到了这里,关于RedisTemplate删除指定前缀Keys的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • java使用redistemplate 删除hash表

    使用 RedisTemplate 删除 Hash 表中的数据可以使用 delete(H key, Object... hashKeys) 方法。 示例: 其中 \\\"myhash\\\" 是 Hash 表的名称,\\\"field1\\\" 和 \\\"field2\\\" 是要删除的字段。 也可以使用 redisTemplate.opsForHash().entries(key).clear() 清除一个 Hash 表所有的数据. 需要注意的是, 如果 Hash 表不

    2024年02月16日
    浏览(30)
  • 如何根据子网掩码计算出网络前缀(prefix)

    我们知道子网掩码是对IP地址的网络地址的标注。把IP地址中网络地址位设置为1,主机地址位设置为0,得到的就是子网掩码。除了用子网掩码表示IP地址的网络地址和主机地址外,还可以用network prefix(网络前缀),比如192.168.0.1/16,这里的16就是prefix,也就是网络地址位的位

    2023年04月15日
    浏览(31)
  • R语言【paleobioDB】——pbdb_taxa_auto():根据部分名称或前缀,获得多个类群名的基本信息

     Package  paleobioDB  version 0.7.0 paleobioDB 包在2020年已经停止更新,该包依赖PBDB v1 API。 可以选择在Index of /src/contrib/Archive/paleobioDB (r-project.org)下载安装包后,执行本地安装。  参数【...】 :可通过 API 调用的参数。所有可用参数详见 PBDB Data Service: Auto-completion for taxonomic names。

    2024年01月18日
    浏览(24)
  • vue路径上如何设置指定的前缀 || 在同一ip和端口部署多个vue项目

    在实际开发项目里,我们可能有多个系统需要部署。一般我们都是通过nginx代理路径。但是如何在ip和端口不变的情况下同时访问多个系统呢?这时候我们就需要使用不通的前缀名去指向多个系统的页面地址。 nginx配置 光配置nginx肯定是不行的,因为你在访问项目路由的时候,

    2024年02月06日
    浏览(37)
  • linux 根据指定内容搜索所有文件

    在Linux中,你可以使用 grep 命令来搜索包含指定内容的文件。 grep 命令用于在文件中搜索指定的模式,并将匹配的行打印出来。 下面是使用 grep 命令搜索所有文件的示例: 在上面的命令中, -r 选项表示递归地搜索目录下的所有文件, \\\"指定内容\\\" 是你要搜索的内容, /path/to

    2024年02月14日
    浏览(38)
  • find命令——根据路径和条件搜索指定文件

    find命令的功能是根据给定的路径和条件查找文件或目录,可以使用的参数很多,并且支持正则表达式,结合管道符后能够实现更加复杂的功能,是系统管理员和普通用户日常工作必须掌握的命令之一。 find命令是对磁盘文件系统进行搜索,因此在服务器负载较高时,不建议使

    2024年02月07日
    浏览(36)
  • 根据指定端口查询进程id,并杀掉进程

    @echo off  echo ================================================ set port=8080 netstat -nao|findstr !port! echo ================================================ for /f \\\"tokens=2,5\\\" %%i in (\\\'netstat -nao^|findstr :%%port%%\\\') do (     ::if \\\"!processed[%%j]!\\\" == \\\"\\\" (     if not defined processed[%%j] (         set pname=N/A         for /f \\\"to

    2024年02月09日
    浏览(30)
  • liunx根据时间删除文件

    一. 使用find和rm -rf命令的一些示例命令: 查找并删除指定类型的文件 假设要删除当前目录下所有扩展名为.log的文件,可以使用以下命令: 这个命令将在当前目录下查找所有扩展名为.log的文件,并使用rm命令删除它们。 查找并删除特定日期之前的文件 假设要删除当前目录下

    2024年02月05日
    浏览(26)
  • linux 根据时间条件删除日志

    删除今天之间的日志文件 ===================================== 这个命令会在/path/to/log/files目录下查找所有扩展名为.log的文件,并检查它们的时间戳,如果时间戳超过7天,则删除这些文件。 配置crontab 表达式,每天凌晨两点执行

    2024年02月14日
    浏览(21)
  • destoon根据标题删除重复数据

    这样就执行删除了。记得使用前数据先备份!!!!  演示地址:模块地图

    2024年02月09日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包