3 回答

TA貢獻(xiàn)2012條經(jīng)驗 獲得超12個贊
1、 Redis和Memcache都是將數(shù)據(jù)存放在內(nèi)存中,都是內(nèi)存數(shù)據(jù)庫。不過memcache還可用于緩存其他東西,例如圖片、視頻等等。
2、Redis不僅僅支持簡單的k/v類型的數(shù)據(jù),同時還提供list,set,hash等數(shù)據(jù)結(jié)構(gòu)的存儲。
3、虛擬內(nèi)存--Redis當(dāng)物理內(nèi)存用完時,可以將一些很久沒用到的value 交換到磁盤
4、過期策略--memcache在set時就指定,例如set key1 0 0 8,即永不過期。Redis可以通過例如expire 設(shè)定,例如expire name 10
5、分布式--設(shè)定memcache集群,利用magent做一主多從;redis可以做一主多從。都可以一主一從
6、存儲數(shù)據(jù)安全--memcache掛掉后,數(shù)據(jù)沒了;redis可以定期保存到磁盤(持久化)
7、災(zāi)難恢復(fù)--memcache掛掉后,數(shù)據(jù)不可恢復(fù); redis數(shù)據(jù)丟失后可以通過aof恢復(fù)
8、Redis支持?jǐn)?shù)據(jù)的備份,即master-slave模式的數(shù)據(jù)備份。

TA貢獻(xiàn)1875條經(jīng)驗 獲得超5個贊
public function index()
{
$serv = new \swoole_server("0.0.0.0", 9501);
$serv->set([
'worker_num' => 1,//一般設(shè)置為服務(wù)器CPU數(shù)的1-4倍
'task_worker_num' => 8,//task進(jìn)程的數(shù)量
'daemonize' => 1,//以守護(hù)進(jìn)程執(zhí)行
'max_request' => 10000,//最大請求數(shù)量
"task_ipc_mode " => 2 //使用消息隊列通信,并設(shè)置為爭搶模式
]);
$serv->on('Receive', [$this, 'onReceive']);//接收任務(wù),并投遞
$serv->on('Task', [$this, 'onTask']);//可以在這個方法里面處理任務(wù)
$serv->on('Finish', [$this, 'onFinish']);//任務(wù)完成時候調(diào)用
$serv->start();
}
- 3 回答
- 0 關(guān)注
- 517 瀏覽
添加回答
舉報