日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

laravel redis_thinkphp+redis实现秒杀,缓存等功能

發布時間:2024/7/23 php 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 laravel redis_thinkphp+redis实现秒杀,缓存等功能 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

秒殺是商城常見功能 php+redis是最常見的秒殺功能

1,安裝redis,根據自己的php版本安裝對應的redis擴展

首先查看phpinfo();php環境信息

2,下載redis

https://windows.php.net/downloads/pecl/snaps/redis/ https://windows.php.net/downloads/pecl/releases/igbinary/

一定要確認下載版本是否和php對應

3.解壓縮后,將php_redis.dll和php_redis.pdb拷貝至php的ext目錄下

4.修改php.ini,(PS:此php.ini文件是在Apache目錄)在該文件中加入:

; php_redis extension=php_igbinary.dll extension=php_redis.dll

注意:extension=php_igbinary.dll一定要放在extension=php_redis.dll的前面,否則此擴展不會生效

5.重啟Apache后,使用phpinfo查看擴展是否成功安裝

在config配置redis 我示例用的是thinkphp5.0

然后在extend下新建module文件夾 創建Redis.php文件

<?php /*** Created by PhpStorm.* User: lhl* Date: 2018/8/20* Time: 下午1:52*/namespace module;class Redis extends Redis {public static function redis() {$con = new Redis();$con->connect(config('redis.host'), config('redis.port'), 5);return $con;} }在thinkphp文件下的helper.php加入if (!function_exists('redis')) {/*** 獲取容器對象實例* @return Container*/function redis(){return moduleRedis::redis();} }然后就可以在控制器寫redis緩存方法了 //創建redis緩存 Cache::store('redis')->set(key, value); //讀取緩存 Cache::store('redis')->get(key);

秒殺的核心問題是在大并發的情況下不會超出庫存的購買,這個就是處理的關鍵所以思路是第一步在秒殺類的先做一些基礎的數據生成:
三張表做測試,分別是:商品表,日志表,訂單表,

///秒殺入口

public function insva(){$id = input('id');//獲取商品idif(!$id){return $this->insertlog(0);//記錄失敗日志}$redis = $this->redis();//接入redis$count = $redis->reduceStock('goods_stock');//減少庫存,返回剩余庫存if($count ==0){$this->insertlog(0);//記錄秒殺失敗日志return false;}else{$order = $this->build_order_no();//隨機生成訂單號$status = 1;$data = db('goods')->where('id',$id)->find();if (!$data){return $this->insertlog(0);//商品不存在}$res = db('order')->insert(['order_sn'=>$order,'uid'=>$this->user_id,'goods_id'=>$id]);//插入訂單$stock = db('goods')->where('id',$id)->setDec('count');//減少庫存if($stock){$this->insertlog();//記錄成功日志}else{$this->insertlog(0);//記錄秒殺失敗日志}}}// 將商品庫存存入隊列public function redisinit(){$store=50; // 庫存50$redis=$this->redis(); //接入redis$redis->del('goods_store'); // 刪除庫存列表$res=$redis->llen('goods_store'); //返回庫存長度,這里已經是0$count=$store-$res;for($i=0;$i<$count;$i++){$redis->lpush('goods_store',1); //列表推進50個,模擬50個商品庫存}}//生成唯一訂單function build_order_no(){return date('ymd').substr(implode(NULL, array_map('ord', str_split(substr(uniqid(), 7, 13), 1))), 0, 8);}// 記錄日志 狀態1成功 0失敗function insertlog($status=1){return Db::name("ab_log")->insertGetId(["count"=>1,"status"=>$status,"addtime"=>date('Y-m-d H:i:s')]);}

以上內容希望幫助到大家,很多PHPer在進階的時候總會遇到一些問題和瓶頸,業務代碼寫多了沒有方向感,不知道該從那里入手去提升,對此我整理了一些資料,包括但不限于:分布式架構、高可擴展、高性能、高并發、服務器性能調優、TP6,laravel,Redis,Swoole、Swoft、Kafka、Mysql優化、shell腳本、Docker、微服務、Nginx等多個知識點高級進階干貨需要的可以免費分享給大家,需要戳這里PHP進階架構師>>>實戰視頻、大廠面試文檔免費獲取

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的laravel redis_thinkphp+redis实现秒杀,缓存等功能的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产天天骚| 国产一区二区视频在线观看免费 | 在线观看欧美日韩 | 在线日韩视频 | 521a人成v香蕉网站 | 欧美日韩免费一区 | 久久久久国产一区二区 | 射黄视频 | 三级在线网址 | 成人靠逼视频 | 美乳在线播放 | 丰满岳妇乱一区二区三区 | 国产激情自拍视频 | 欧美高清性xxxx | 日韩不卡免费视频 | 97久久人国产精品婷婷 | 国产特黄毛片 | 黄色在线观看网址 | 操女人网 | 污污视频在线免费观看 | 亚洲污网站 | 黄金网站在线观看 | 美女黄免费 | 成人免费网站在线 | 欧美偷拍少妇精品一区 | 欧美a级在线观看 | v片在线看| 久久精品视| 成人午夜在线免费观看 | 少妇厨房愉情理伦bd在线观看 | 五十路av在线 | 99久久久无码国产精品衣服 | 永久视频在线 | 欧美一区二区免费在线观看 | 国产热 | 天堂久久精品 | 激情五月激情 | 婷婷亚洲综合五月天小说 | 最近中文字幕免费mv视频7 | av在线资源播放 | 欧美劲爆第一页 | 日韩欧美在线观看视频 | 久久黄色影视 | 91直接进入 | 污网站在线观看免费 | 成人在线视频免费观看 | 玖玖999| 看片网站在线观看 | 在线看日韩| 国产又粗又长 | 精品成人免费一区二区在线播放 | 亚洲国产精品网站 | 亚洲精品久久久久久国产精华液 | 亚洲大尺度网站 | 亚洲国产一区二区在线 | 色一五月| 国产欧美日韩精品一区二区三区 | 黄色小电影网址 | 欧美性视频一区二区三区 | 久久99精品久久久久久噜噜 | 亚洲永久免费观看 | 偷拍超碰| 啪啪一区二区 | 男人av影院| 91 高清 在线 制服 偷拍 | 69欧美视频 | 秋霞免费av| 天天射天天搞 | 国产精品xxx在线观看 | 少妇捆绑紧缚av | 91国产免费看| 日韩在线视频播放 | 轻点好疼好大好爽视频 | 国产91美女视频 | 婷婷伊人五月天 | 伊人亚洲影院 | 亚洲插插插 | 欧美粗暴jizz性欧美20 | www.人人干 | 国产美女精品在线 | 日韩综合av| 日批视频免费观看 | 亚洲精品国产成人av在线 | av在线天堂网 | 嫩草视频一区二区三区 | 中文字幕有码在线播放 | 久久人人爽人人爽人人 | 亚洲AV成人无码久久精品巨臀 | 国产区精品 | 激情高潮呻吟抽搐喷水 | 久久中文娱乐网 | 久久99精品久久久久久噜噜 | 日韩av在线第一页 | 超碰免费观看 | 国产免费一区二区三区在线播放 | 中国精品毛片 | 国产在线视频第一页 | 熊出没之冬日乐翻天免费高清观看 | 在线看b |