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

推荐订阅源

月光博客
月光博客
Microsoft Security Blog
Microsoft Security Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 叶小钗
博客园 - 三生石上(FineUI控件)
爱范儿
爱范儿
T
Tailwind CSS Blog
F
Fortinet All Blogs
Blog — PlanetScale
Blog — PlanetScale
WordPress大学
WordPress大学
H
Help Net Security
Apple Machine Learning Research
Apple Machine Learning Research
Y
Y Combinator Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
GbyAI
GbyAI
Martin Fowler
Martin Fowler
有赞技术团队
有赞技术团队
腾讯CDC
V
V2EX
Jina AI
Jina AI
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
B
Blog
M
MIT News - Artificial intelligence
宝玉的分享
宝玉的分享

博客园 - 四季皆春

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锁防止重复提交