Laravel中处理接口并发的方法

网友投稿 248 2024-02-03


Laravel中处理接口并发的方法

本文主要介绍"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上传图片之后目录有图片但访问不到的问题:本文主要介绍"怎么解决laravel上传图片之后目录有图片但访问不到的问题",希望能够解决您遇到有关问题,下面我们一起来看这篇 "怎么解决laravel上传图片之后目录有图片但访 ...


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java8中怎么利用Stream实现函数式接口
下一篇:TypeScript 接口继承的具体使用
相关文章

 发表评论

暂时没有评论,来抢沙发吧~