惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
Docker
人人都是产品经理
人人都是产品经理
小众软件
小众软件
博客园 - Franky
WordPress大学
WordPress大学
Jina AI
Jina AI
Google DeepMind News
Google DeepMind News
I
InfoQ
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
F
Fortinet All Blogs
博客园 - 【当耐特】
IT之家
IT之家
G
Google Developers Blog
J
Java Code Geeks
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
云风的 BLOG
云风的 BLOG
Recent Announcements
Recent Announcements
有赞技术团队
有赞技术团队
V
Visual Studio Blog
U
Unit 42
阮一峰的网络日志
阮一峰的网络日志
月光博客
月光博客
GbyAI
GbyAI
雷峰网
雷峰网

博客园 - 四季皆春

html设置某个元素固定在页面, 不随滚动条移动 Mysql语句where中设置多个查询条件 Jquery插件 dataTable设置点击表格指定的列实现升序降序排序功能 JavaScript中为JSON对象动态添加属性的四种方法 CSS设置指定某个区域div出现滚动条、滚动框 Nginx配置成系统服务及环境变量配置 jquery监听表单输入变化-调用函数 javaScript正则匹配全部字符 Linux下PHP安装Redis扩展 mysql语句使用正则过滤字段 Bootstrap模态框使用WebUploader点击失效问题 - Bootstrao模态框弹出后内置js函数未起作用-F12后又起作用 百度开发-文件上传插件- Web Uploader js根据某个日期(年-月-日)添加指定的天数 ci框架nginx隐藏 index.php Docker配置阿里云镜像加速服务 Redis配置登录密码并使用认证密码登录 Redis常用命令 Redis查看当前连接数 & 客户端连接信息 Redis查看参数值 linux查看文件最后的修改时间 centos8报错错误:为 repo 'appstream' 下载元数据失败 : Cannot prepare internal mirrorlist: No URLs in mirrorlist
通过Redis防止数据重复
四季皆春 · 2026-04-23 · via 博客园 - 四季皆春
        # 设置redis锁防止重复提交
        
        echo '我是:' . $_POST['name'] . PHP_EOL;
        $data = [1,2,3,4,5,6,7,8,9,10];
        $wait_deal_list = [];
        foreach ($data as $val){
            # 设置redis锁防止重复提交
            $data['order_id'] = $val;
            $unique_key = 'ORDER_ID_' . $data['order_id'];
            $key_rst = $this->redis->get($unique_key);
            if ($key_rst) {
                echo date('Y-m-d H:i:s') . ' 未获取到,别人在使用,等待中...' . $key_rst . PHP_EOL;
                $wait_deal_list[] = $val;
                continue;
            }else{
                echo date('Y-m-d H:i:s') . ' 取到空锁' . $key_rst;
                $this->redis->save($unique_key, $data['order_id'], 60);
                echo '自己加锁成功,正在处理数据:' . $val . PHP_EOL;
                sleep(2);
                $del_rst = $this->redis->delete($unique_key);
                echo date('Y-m-d H:i:s') . ' 释放锁' . $del_rst . PHP_EOL;
            }
            # 设置redis锁防止重复提交
        }

        echo '待处理数据:' . implode(',', $wait_deal_list);
        exit();
        
        # 设置redis锁防止重复提交