memcache
定義
memcacheは、分散型高速キャッシュシステムです
現在、特に一部の大規模な
ワークフローにおいて、Webサイトのアクセス速度を向上させるために多くのWebサイトで使用されています
1. データが存在するかどうかを最初に確認します。 memcache にある場合は、直接返します
2. memcache にない場合は、データベースを確認し、コピーを memcache にキャッシュします。これにより、読み取り速度が大幅に向上します。
アプリケーションと機能
1. Web ページまたはデータベースのキャッシュに使用
2. セッションの共有に使用可能
3. 小規模ながら大規模なデータ変更に適しています (Weibo ファン +1 など)
4.メモリ内にデータを永続化することはできません
キャッシュ最適化ルール: 28 原則
20%: ホットデータ、頻繁にアクセスされるデータ。キャッシュとして使用され、メモリに保存されます
80%: 基本的に変更されていないデータ、ソリッド ステート ドライブに保存されます
phpは、memcacheモジュールをロードします
現在のPHP環境を検出します
vim ~/.bash_profile PATH=$PATH:$HOME/bin:/usr/local/lnmp/mysql/bin/:/usr/local/lnmp/php/bin
、またはソフトリンク
[root@server11 bin]# ln -s /usr/local/lnmp/php/bin /usr/local/bin/
を作成します。コンパイル
tar zxf memcache-2.2.5.tgz cd memcache-2.2.5 phpize 准备预编译环境
./configure make && make install
phpの実行パスがソースパッケージのパスであることを確認してください
[root@server11 memcache-2.2.5]# which php /usr/local/lnmp/php/bin/php cd /usr/local/lnmp/php/etc/ vim php.ini 记住是. 863 extension=memcache.so /etc/init.d/php-fpm start
Check
[root@server11 etc]# php -m |grep memcache
rpm -qa |grep phpそこにあることを確認してくださいrpm パッケージの干渉はありません
空
バックエンドのインストール設定
yum install memcached -y /etc/init.d/memcached start
リスニングポート netstat -antlpue
udp 0 0 0.0.0.0:11211 0.0.0.0:* 498 10940 3706/memcached
memcached データベースにアクセス
yum install telnet -y telnet localhost 11211
set name 0 0 6 westos STORED get name VALUE name 0 6 westos END delete name DELETED get name END
監視ページを書き込む
cd memcache-2.2.5
cp memcache.php /ユーザー/ local/nginx/html/
vim memcache.php
23 define('ADMIN_PASSWORD','westos'); // Admin Password 28 $MEMCACHE_SERVERS[] = ''; // add more as an array 29 $MEMCACHE_SERVERS[] = 'mymemcache-server2:11211'; // add more as an arra y
テストページを書く
vim test.php
<?php $memcache = new Memcache; $memcache->connect('127.0.0.1', 11211) or die ("Could not connect"); $version = $memcache->getVersion(); echo "Server's version: ".$version."\n"; $tmp_object = new stdClass; $tmp_object->str_attr = 'test'; $tmp_object->int_attr = 123; $memcache->set('key', $tmp_object, false, 10) or die ("Failed to save data at the server"); echo "Store data in the cache (data will expire in 10 seconds)\n"; $get_result = $memcache->get('key'); echo "Data from the cache:\n"; var_dump($get_result); ?>
nginxを起動
nginx
Check
ブラウザでアクセス:
1。 8.11/memcache .php キャッシュ ヒット率の監視
2. 172.25.88.11/test.php
は常に更新されており、キャッシュ ヒット率 (ヒット) がどんどん大きくなっていることがわかります
。以上がPHPでmemcacheモジュールをロードするサンプルコードの詳細説明(写真)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。