W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
要創(chuàng)建自定義的緩存驅(qū)動,首先需要實現(xiàn) Illuminate\Contracts\Cache\Store
contract 契約。因此, MongoDB 緩存實現(xiàn)看起來就像是這樣:
<?php
namespace App\Extensions;
use Illuminate\Contracts\Cache\Store;
class MongoStore implements Store
{
public function get($key) {}
public function many(array $keys) {}
public function put($key, $value, $seconds) {}
public function putMany(array $values, $seconds) {}
public function increment($key, $value = 1) {}
public function decrement($key, $value = 1) {}
public function forever($key, $value) {}
public function forget($key) {}
public function flush() {}
public function getPrefix() {}
}
我們只需要 MongoDB 的連接來實現(xiàn)這些方法。 關(guān)于如何實現(xiàn)這些方法中的實例,可以通過閱讀源代碼 Illuminate\Cache\MemcachedStore
來加以理解。 一旦我們完成契約接口的實現(xiàn),我們就可以通過以下的示例來完成自定義驅(qū)動的注冊了。
Cache::extend('mongo', function ($app) {
return Cache::repository(new MongoStore);
});
技巧:如果你不知道該將緩存驅(qū)動的代碼放在什么地方,你可以在你的
app
文件夾下創(chuàng)建一個Extensions
的命名空間。 值得注意的是,Laravel 并沒有硬性規(guī)定應(yīng)用程序的結(jié)構(gòu)。因此你可以根據(jù)自己的喜好自由的組織你的應(yīng)用程序。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: