請(qǐng)問(wèn)大神們,個(gè)人想法是先讀取redis->get讀取key,不存在時(shí)去數(shù)據(jù)庫(kù)取同時(shí)設(shè)置緩存,在redis->get中不能使用數(shù)據(jù)庫(kù)操作,正確寫(xiě)法應(yīng)該怎么寫(xiě),謝謝
錯(cuò)誤代碼 worker[BusinessWorker:8843] exit with status 64000
代碼如下
1、先通過(guò)redis查詢數(shù)據(jù)存在,存在則直接返回
2、不存在,通過(guò)mysql查詢,并且保存和設(shè)置redis緩存,然后返回
redis 中的 get 方法,好像不能使用閉包(匿名)函數(shù)吧
我記得好像,閉包函數(shù)使用上層變量,需要使用 use 引入變量
我使用的是composer require workerman/redis 安裝,讀取都是,判斷都是這樣一個(gè)方法,在({ })內(nèi)不能使用外面的變量與對(duì)象 ({ })后面加,會(huì)先執(zhí)行,這種方式應(yīng)該是異步了,所以不知道怎么寫(xiě)了
$redis->get('key', function($result) {
print_R($result);
echo "\r\n";
echo "11111111\r\n";
});
echo "222222222\r\n";
判斷存在也是這樣寫(xiě)的同樣的問(wèn)題
$redis->exists('key', function ($result) {
print_R($result);
echo "\r\n";
echo "11111111\r\n";
});
echo "222222222\r\n";
最終都是顯示
222222222
$result數(shù)組的值
111111111
先 判斷 $redis->exists() 存在 獲取 $redis->get()
不存在 $redis->set();
我使用的是composer require workerman/redis 安裝,讀取都是,判斷都是這樣一個(gè)方法,在({ })內(nèi)不能使用外面的變量與對(duì)象 ({ })后面加,會(huì)先執(zhí)行,這種方式應(yīng)該是異步了,所以不知道怎么寫(xiě)了
$redis->get('key', function($result) {
print_R($result);
echo "\r\n";
echo "11111111\r\n";
});
echo "222222222\r\n";
判斷存在也是這樣寫(xiě)的同樣的問(wèn)題
$redis->exists('key', function ($result) {
print_R($result);
echo "\r\n";
echo "11111111\r\n";
});
echo "222222222\r\n";
最終都是顯示
222222222
$result數(shù)組的值
111111111
不會(huì)異步就用redis擴(kuò)展同步用法吧,看手冊(cè)里workerman/redis用于subscribe訂閱,除此之外建議用redis擴(kuò)展。