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

歡迎訪問 生活随笔!

生活随笔

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

php

php redis 队列抢红包_php+redis实现消息队列

發布時間:2023/12/2 php 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php redis 队列抢红包_php+redis实现消息队列 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

消息隊列:是在消息的傳輸過程中保存消息的容器。消息隊列管理器在將消息從它的源中繼到它的目標時充當中間人。隊列的主要目的是提供路由并保證消息的傳遞;如果發送消息時接收者不可用,消息隊列會保留消息,直到可以成功地傳遞它

應用場景:異步處理,應用解耦,流量削鋒和消息通訊四個場景

1、異步處理

場景說明:用戶注冊后,需要發注冊郵件和注冊短信。

注解:自行考慮ajax中的異步。

2、應用解耦

一般訂單系統和庫存系統是一體的,但是如果一方出現問題,那么這個訂單就失敗了。

訂單系統:用戶下單后,訂單系統完成持久化處理,將消息寫入消息隊列,返回用戶訂單下單成功。

庫存系統:訂閱下單的消息,采用拉/推的方式,獲取下單信息,庫存系統根據下單信息,進行庫存操作。

假如:在下單時庫存系統不能正常使用。也不影響正常下單,因為下單后,訂單系統寫入消息隊列就不再關心其他的后續操作了。實現訂單系統與庫存系統的應用解耦。

注解:感覺特別像行為驅動,消息隊列中存儲的就是每個行為

3、流量消鋒(一般在秒殺或團搶活動中使用廣泛)

注解:一般秒殺時訂單會特別的多,但是數據庫無法一次性的處理這么多,所以可以先存在消息隊列中,無論我進的速度多快,出的速度都是一定的。不知道算不算屬于漏斗模型的一部分

php的redis擴展:https://github.com/phpredis/phpredis

1)redis函數rpush,lpop

2).Linux的crontab

創建demo.php和index.php

$redis = new Redis();

$redis->connect('127.0.0.1',6379);

$password = '123456';

$redis->auth($password);

$arr = array('h','e','l','l','o','w','o','r','l','d');

foreach($arr as $k=>$v){

$redis->rpush("mylist",$v);

}

$redis = new Redis();

$redis->connect('127.0.0.1',6379);

$password = '123456';

$redis->auth($password);

//list類型出隊操作

$value = $redis->lpop('mylist');

if($value){

echo "出隊的值".$value;

}else{

echo "出隊完成";

}

?>

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

總結

以上是生活随笔為你收集整理的php redis 队列抢红包_php+redis实现消息队列的全部內容,希望文章能夠幫你解決所遇到的問題。

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