ホームページ php教程 php手册 SmartWiki 開発日記 Laravel キャッシュ拡張機能

SmartWiki 開発日記 Laravel キャッシュ拡張機能

Dec 05, 2016 pm 01:26 PM

SmartWiki の概要については、以下をお読みください: http://www.cnblogs.com/lifeil/p/6113323.html

SmartWiki デモ サイトは Alibaba Cloud 上にデプロイされているため、Alibaba Cloud には 128M の無料 Memcache サービスがあります。Memcached の設定方法に従って設定した後、Laravel がエラーを報告していることがわかりました。エラーの場所は addServer エラーです。 Alibaba Cloud に接続できません。

仕方ないのでAlibaba Cloudのインストールマニュアルに従ってスクリプトを書いてサーバーに置いた結果、接続して書き込むことができました。

Alibaba Cloud が提供するスクリプトは次のとおりです:

リーリー

laravel の Memcached ドライバーを見ると、/vendor/laravel/framework/src/Illuminate/Cache/MemcachedConnector.php に Memcached オブジェクトを作成するコードは次のとおりです。

リーリー
Laravel の Memcached には setOption メソッドを設定するオプションがないことがわかります。これには、最も単純な接続の確立のみが含まれており、その後、getVersion を呼び出して接続されているかどうかをテストします。 Alibaba Cloud のデモ コードでは、圧縮をオフにし、バイナリ バイナリ プロトコルを使用するオプションを設定します。

カスタムオプションを実装するにはMemcachedの機能を自分で拡張するしかありません。 laravelの拡張キャッシュは、Cache::extendを使用して拡張できます。拡張コードは次のとおりです:

リーリー
リーリー

バージョン 5.2 以降では設定の読み取りが適用されない、laravel キャッシュ拡張機能に関する記事がインターネット上に出回っています。

キャッシュ拡張コードでは、サービスプロバイダーを登録するために ServiceProvider を作成する必要があります。サービスプロバイダーは、Laravel アプリケーションの起動の中心です。独自のアプリケーションとすべての Laravel のコアサービスは、サービスプロバイダーを通じて開始されます。

しかし、「イニシエーション」とは何を意味するのでしょうか?通常、これは、サービス コンテナー バインディング、イベント リスナー、ミドルウェア、さらにはルートの登録を含む、登録を意味します。サービス プロバイダーはアプリケーション構成の中心です。

Laravel に付属の config/app.php ファイルを開くと、アプリケーションによってロードされるすべてのサービスプロバイダークラスが表示されます。これは、それらの多くが遅延ロードされることを意味します。リクエストは毎回ロードされるわけではなく、実際に使用されるときにのみロードされます。

すべてのサービスプロバイダーは IlluminateSupportServiceProvider クラスを継承します。ほとんどのサービス プロバイダーには、 register と boot という 2 つのメソッドが含まれています。 register メソッドでは、イベント リスナー、ルート、またはその他の機能をサービス コンテナーにバインドすることだけを行う必要があります。

Artisan コマンド make:provider: を使用して新しいプロバイダーを簡単に生成できます

リーリー
すべてのサービスプロバイダーは、構成ファイル config/app.php を通じて登録されます。このファイルには、すべてのサービスプロバイダーの名前をリストするプロバイダー配列が含まれています。デフォルトでは、これらのすべてのコアサービスプロバイダーが Laravel コアコンポーネントを開始します。メール、キュー、キャッシュなど。

独自のサービスプロバイダーを登録するには、それをこの配列に追加するだけです:

リーリー
config/cache.php で Memcached の設定も行います:

リーリー

拡張キャッシュにセッションを保存する必要がある場合は、Session::extend を呼び出してセッション ストレージを拡張する必要もあります。

リーリー

その後、.env で拡張キャッシュを構成できます。完全なコードは次のとおりです:

リーリー
スマートウィキコード
SmartWiki公式ウェブサイト: https://www.iminho.me

SmartWiki ソース コード: https://github.com/lifei6671/SmartWiki

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)