简析Laravel中处理接口并发

发布时间 - 2021-02-13 00:00:00    点击率:

下面由laravel教程栏目给大家介绍laravel 中简单处理接口并发,希望对需要的朋友有所帮助!

Laravel 中简单处理接口并发

简介

日常业务逻辑中经常会出现接口并发处理,最常见的是同一个接口被瞬间调了好几次,导致产生的数据错乱 为了避免这种问题发生,一般前端、移动端会限制按钮触发接口限制,后端接口调用限制。

说在前面

该方法仅适用于简单的接口频率限制。并不适用于商品秒杀,但原理类似。

原 理

这只是一个简单的实现过程,主要用了 redis 原生的 set 方法类给 key 设置值的时候设置过期时间,如果改 key 存在 ,则返回 false。如果不存在则设置值同时设置过期时间,返回 true。 避免了死锁的出现。

代码部分:

/**
 * 简单处理并发
 * @User yaokai
 * @param $key 要设置的key
 * @param int $ttl 限制过期时间
 * @param int $value 要设置的值
 * @return bool true成功  false失败
 */
function redisConcurren($key, $ttl = 240, $value = 1)
{
    // 实例化原生 redis
    $redis = new \Redis();
    
    // 指定需要使用的 redis 服务器
    $redis->connect(config('database.redis.default.host'));
    // 设置密码
    $redis->auth(config('database.redis.default.password'));
    // 设置默认的 redis 库
    $redis->select(config('database.redis.default.database'));
    // 利用原生的set方法设置一个key的过期时间
    $status = $redis->set($key, $value, array( 'nx', 'ex' => $ttl ));
    
    return $status;
}

写在后面

我只是一个慢慢学习的小菜鸟。如果有不对的地方,或者有更好的方法希望各位不吝指教,相互讨论,感激不尽!


# laravel  # 适用于  # 死锁  # 的是  # 是一个  # 不吝指教  # 菜鸟  # 感激不尽  # 用了  # 给大家  # 不存在 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?  Laravel如何实现本地化和多语言支持?(i18n教程)  如何用免费手机建站系统零基础打造专业网站?  Win10如何卸载预装Edge扩展_Win10卸载Edge扩展教程【方法】  文字头像制作网站推荐软件,醒图能自动配文字吗?  Laravel如何集成微信支付SDK_Laravel使用yansongda-pay实现扫码支付【实战】  网站制作大概要多少钱一个,做一个平台网站大概多少钱?  绝密ChatGPT指令:手把手教你生成HR无法拒绝的求职信  php增删改查怎么学_零基础入门php数据库操作必知基础【教程】  UC浏览器如何设置启动页 UC浏览器启动页设置方法  php做exe能调用系统命令吗_执行cmd指令实现方式【详解】  javascript中的try catch异常捕获机制用法分析  Laravel Facade的原理是什么_深入理解Laravel门面及其工作机制  Laravel如何监控和管理失败的队列任务_Laravel失败任务处理与监控  googleplay官方入口在哪里_Google Play官方商店快速入口指南  专业商城网站制作公司有哪些,pi商城官网是哪个?  如何在HTML表单中获取用户输入并用JavaScript动态控制复利计算循环  学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?  node.js报错:Cannot find module 'ejs'的解决办法  如何用5美元大硬盘VPS安全高效搭建个人网站?  Laravel如何生成URL和重定向?(路由助手函数)  如何实现建站之星域名转发设置?  如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?  如何在宝塔面板中创建新站点?  Linux后台任务运行方法_nohup与&使用技巧【技巧】  微信小程序 HTTPS报错整理常见问题及解决方案  如何在腾讯云服务器上快速搭建个人网站?  laravel怎么为应用开启和关闭维护模式_laravel应用维护模式开启与关闭方法  Laravel如何使用Telescope进行调试?(安装和使用教程)  mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?  Python文件流缓冲机制_IO性能解析【教程】  Laravel怎么创建自己的包(Package)_Laravel扩展包开发入门到发布  Laravel如何升级到最新版本?(升级指南和步骤)  佐糖AI抠图怎样调整抠图精度_佐糖AI精度调整与放大细化操作【攻略】  JavaScript如何操作视频_媒体API怎么控制播放  Laravel怎么做数据加密_Laravel内置Crypt门面的加密与解密功能  北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?  EditPlus中的正则表达式 实战(1)  如何快速搭建高效服务器建站系统?  如何用花生壳三步快速搭建专属网站?  郑州企业网站制作公司,郑州招聘网站有哪些?  利用 Google AI 进行 YouTube 视频 SEO 描述优化  如何自定义建站之星模板颜色并下载新样式?  谷歌Google入口永久地址_Google搜索引擎官网首页永久入口  邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?  如何在阿里云完成域名注册与建站?  Laravel如何配置任务调度?(Cron Job示例)  Laravel Eloquent模型如何创建_Laravel ORM基础之Model创建与使用教程  昵图网官方站入口 昵图网素材图库官网入口  Laravel的HTTP客户端怎么用_Laravel HTTP Client发起API请求教程