摘要:問題一啟用監(jiān)聽收不到過期時間消息,原因是未開啟配置解決辦法是在配置文件內(nèi)開啟或者在命令行使用命令問題二原因是默認鏈接時間未秒,在設(shè)置為即可。問題三這個是因為一個鏈接使用監(jiān)聽時,無法使用其他命令。將監(jiān)聽事件設(shè)置為多帶帶實例。
問題一:啟用監(jiān)聽收不到過期時間消息,原因是未開啟配置
解決辦法是 在redis配置文件內(nèi)開啟 notify-keyspace-events Ex或者在redis命令行 redis-cli 使用命令:
config set notify-keyspace-events Ex
問題二:PredisConnectionConnectionException : Error while reading line from the server
原因是Redis默認鏈接時間未60秒,在database.php設(shè)置read_write_timeout為0即可。
"read_write_timeout"=>0
問題三:ERR only (P)SUBSCRIBE / (P)UNSUBSCRIBE / QUIT allowed in this context
這個是因為一個Redis鏈接使用監(jiān)聽時,無法使用其他命令。需要重新建立一個鏈接。期初我使用 new PredisClient(),一直報錯,我也不知道為啥。然后我想到了使用集群,使用相同配置。將監(jiān)聽事件設(shè)置為多帶帶實例。具體操作如下:
//datebase.php配置頁面 "redis" => [ "client" => "predis", "default" => [ "host" => env("REDIS_HOST", "127.0.0.1"), "password" => env("REDIS_PASSWORD", null), "port" => env("REDIS_PORT", 6379), "database" => 0, "queue" => "{default}",//queue站點默認走的redis ], "publisher" => [ //redis 訂閱監(jiān)聽 "host" => env("REDIS_HOST", "127.0.0.1"), "password" => env("REDIS_PASSWORD", null), "port" => env("REDIS_PORT", 6379), "database" => 0, "read_write_timeout"=>0,//長連接不要斷 ], ] //監(jiān)聽頁面 //__keyevent@*__:expired監(jiān)聽過期消息 $redis=Redis::connection("publisher");//創(chuàng)建新的實例 $redis->psubscribe(["__keyevent@*__:expired"], function ($message, $channel) { echo $message; Redis::set("aa","123");//這樣就不會報錯了。這里使用的是default的,是兩個redis鏈接。 });
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/29942.html
摘要:在使用中的隊列時,產(chǎn)生沖突干擾。文件中的配置部分至此,兩個項目的隊列沖突原因就找到了。隊列監(jiān)聽最后遇到問題,莫要病急亂投醫(yī)。從代碼入手,分析理解實現(xiàn)原理,找對點,解決方法也許很簡單,。 問題 公司項目使用Laravel的開發(fā)的兩個項目在同一個測試服務(wù)器部署,公用同一個redis。在使用laravel中的隊列時,產(chǎn)生沖突干擾。 查找問題原因 在laravel 隊列的操作類 Illumin...
摘要:如何實現(xiàn)持久化持久化,將在內(nèi)存中的的狀態(tài)保存到硬盤中,相當(dāng)于備份數(shù)據(jù)庫狀態(tài)。相當(dāng)于備份數(shù)據(jù)庫接收到的命令,所有被寫入的命令都是以的協(xié)議格式來保存的。 最近社區(qū)里面有一篇文章引起了最多程序猿的關(guān)注,Laravel、PHPer 面試可能會遇到的問題,看評論區(qū)不少小伙伴們被難倒,對于一些問題同樣難倒了我(其實有很多啦),趁著周末有空,又總結(jié)梳理了一遍,順便來答一波題。由于個人技術(shù)水平有限,答...
摘要:豐富的數(shù)據(jù)類型支持二進制案例的及數(shù)據(jù)類型操作。原子的所有操作都是原子性的,同時還支持對幾個操作全并后的原子性執(zhí)行。豐富的特性還支持通知過期等等特性。完成上述配置之后我們就可以在應(yīng)用代碼中使用進行數(shù)據(jù)存取了。 教科書式開頭————先看一下redis的簡介 Redis 是完全開源免費的,遵守BSD協(xié)議,是一個高性能的key-value數(shù)據(jù)庫。 Redis 與其他 key - value ...
閱讀 1773·2023-04-26 00:20
閱讀 1823·2021-11-08 13:21
閱讀 2017·2021-09-10 10:51
閱讀 1581·2021-09-10 10:50
閱讀 3312·2019-08-30 15:54
閱讀 2143·2019-08-30 14:22
閱讀 1439·2019-08-29 16:10
閱讀 3101·2019-08-26 11:50