首页 > 数据库 >redis锁

redis锁

时间:2023-12-02 14:32:43浏览次数:41  
标签:redis param Boolean tagName aBoolean type redisTemplate

public class RedisTag {


    /**
     *
     * @param tagName
     * @param type 1、开始2、结束
     * @param redisTemplate
     * @return
     */
    public static boolean tag(String tagName,String type, RedisTemplate<String,String> redisTemplate){
        if(StringUtils.eq("1",type)){
            Boolean aBoolean = redisTemplate.opsForValue().setIfAbsent(tagName, "1", 5, TimeUnit.MINUTES);
            return Optional.ofNullable(aBoolean).orElse(false);
        }else {
            Boolean aBoolean = redisTemplate.opsForValue().setIfAbsent(tagName, "1", 5, TimeUnit.SECONDS);
            Boolean aBoolean1 = Optional.ofNullable(aBoolean).orElse(true);
            if(!aBoolean1){
                try {
                    redisTemplate.delete(tagName);
                }catch (Exception ignored){
                }
            }
            return true;
        }
    }

 



标签:redis,param,Boolean,tagName,aBoolean,type,redisTemplate
From: https://blog.51cto.com/u_15242378/8656920

相关文章

  • redis限流
    1、基于Redis的数据结构zset用的redis的zset来计数,score字段寸时间戳,每次请求增加一条数据,并按score移除超时的数据。最后在给整个key1加个过期时间2、基于Redis的令牌桶算法      ......
  • linux中redis的安装和设置开启自动启动
    一、安装redis第一步:下载redis安装包wgethttp://download.redis.io/releases/redis-4.0.6.tar.gz复制代码[root@iZwz991stxdwj560bfmadtZlocal]#wgethttp://download.redis.io/releases/redis-4.0.6.tar.gz第二步:解压压缩包tar-zxvfredis-4.0.6.tar.gz[root@iZwz991stxd......
  • Redis为什么是单线程及高并发的原因
    Redis的高并发和快速原因1.redis是基于内存的,内存的读写速度非常快2.redis是单线程的,省去了很多上下文切换线程的时间3.redis使用多路复用技术,可以外理并发的连接。非阻塞I0内部实现采用epol,采用了epol+自己实现的简单的事件框架。epol中的读、写、关闭、连接都转化成了事件,然后......
  • 在redis中,如何在创建key的同时,设置key的过期时间
    1、通过下面的创建key,同时设置过期时间SETkeyvalueEXseconds 示例:setteskey01123ex60  设置key的过期时间是60s,这样在创建的时候,就开始倒计时了。 通过工具看,TTL,会定期的刷新,到0之后,这个key就会被删除了。 60s后,key不存在  如果一个key的TTL......
  • 安装redis_exporter 以及配置prometheus
    安装:1、下载redis_exporterwgethttps://github.com/oliver006/redis_exporter/releases/download/v1.29.0/redis_exporter-v1.29.0.linux-amd64.tar.gz2、解压/usr/local目录下,并重命名#tar-zxvfredis_exporter-v1.29.0.linux-amd64.tar.gz-C/usr/local/#cd/usr/local/#......
  • Docker 安装 Redis 容器 (完整详细版)
    1、获取Redis镜像Docker如果想安装软件,必须先到Docker镜像仓库下载镜像。Docker镜像仓库2、下载Redis镜像命令描述dockerpullredis下载最新版Redis镜像(其实此命令就等同于:dockerpullredis:latest)dockerpullredis:xxx下载指定版本的Redis......
  • Redis事务
    是什么可以一次执行多个命令,本质是一组命令的集合。一个事务中的所有命令都会序列化,按顺序的串行化执行而不会被其他命令插入,不许加塞!能干嘛在一个队列中,一次性、顺序性、排他性的执行一系列命令Redis事务和数据库事务的区别单独的隔离操作Redis的事务仅仅是保证事务里的......
  • centos上安装redis、redis客户端操作、redis使用场景、通用命令
    centos上安装redis#win上装redis#上线--》centos装了--》详细研究#docker装---》配置--》持久化#官网看看-redis源码-----》自己编译-redisstack----》编译过后的可执行文件-6.x版本#咱们刚刚下了几个软件-redis-6.2.14-reids......
  • redis1
    centos上安装rediswin上装redis上线--》centos装了---》详细研究docker装----》配置持久化找官网:-redis源码----》自己编译-redisstack---》编译过后的可执行文件-6.x版本 基于源码,在不同平台编译成相应平台的可执行文件-mac-linux-乌......
  • Redis的事务transactions
    1.Redis的事务仅仅是保证事务里的操作会被连续独占的执行,Redis的命令执行是单线程,2.Redis不保证事务的所有指令可以同时成功或者同时失败,只可以决定是否开始执行全部指令的能力,因此也没有回滚3.Redis可以保证一个事物内的命令会依次执行,不会被其他指令插入 MULTI#事务开始......