Workerman でデータ キャッシュに Memcached を使用する方法
Memcached は、Web アプリケーションのパフォーマンスとスケーラビリティを向上させるためによく使用されるオープンソースの分散メモリ キャッシュ システムです。 Workerman は、リアルタイム通信アプリケーションの構築に使用できる高性能 PHP ソケット フレームワークです。この記事では、Workerman でデータ キャッシュに Memcached を使用する方法を紹介し、具体的なコード例を示します。
1. Memcached のインストールと構成
始める前に、Memcached をインストールして構成する必要があります。次のコマンドを使用して、Linux システムに Memcached をインストールできます。
sudo apt-get install memcached
インストールが完了したら、構成ファイル /etc/memcached.conf を編集し、リスニング IP とポート番号を設定し、次のコマンドを指定する必要があります。メモリサイズ。
-d -p 11211 -l 127.0.0.1 -m 128
構成ファイルを保存し、Memcached サービスを再起動します。
2. Workerman のインストール
次に、Workerman フレームワークをインストールする必要があります。 Composer を使用して次のコマンドでインストールできます:
composer require workerman/workerman
3. Memcached を使用するコードを記述します
<?php require_once __DIR__.'/vendor/autoload.php'; use WorkermanWorker; use WorkermanProtocolsHttp; $worker = new Worker('http://0.0.0.0:8000'); $worker->onMessage = function ($connection, $request) { // 先尝试从缓存中获取数据 $cache = new Memcached(); $cache->addServer('127.0.0.1', 11211); $data = $cache->get($request->path()); if ($data === false) { // 缓存中不存在数据,则从数据库中获取数据 $data = get_data_from_database($request->path()); // 将数据存入缓存 $cache->set($request->path(), $data, 86400); // 缓存有效期为24小时 } // 返回数据给客户端 Http::header('Content-Type: application/json'); Http::header('Cache-Control: max-age=86400'); // 设置浏览器缓存时间为24小时 $connection->send(json_encode($data)); }; function get_data_from_database($path) { // 从数据库中获取数据的逻辑,此处省略 return [ 'path' => $path, 'data' => 'some data' ]; } Worker::runAll();
php cache.php start
4. テストコード
はブラウザを使用して送信できますまたは他のツールの HTTP リクエストを使用して、Memcached のデータ キャッシュ機能をテストします。たとえば、http://localhost:8000/foo にアクセスすると、データがデータベースから取得され、キャッシュに保存されます。再度 http://localhost:8000/foo にアクセスすると、キャッシュから直接データが取得されます。
上記の手順により、Workerman でのデータ キャッシュに Memcached を使用することができました。コード内の例は参考用のみであり、実際に使用する場合は、特定のビジネス ロジックに従って調整する必要があります。同時に、権限のない訪問者による悪意のある操作を避けるために、Memcached サービスのセキュリティの保護に注意を払う必要があります。
以上がWorkerman でのデータ キャッシュに Memcached を使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。