以前に PHP キャッシュ テクノロジについて詳しく説明し、主にデータ キャッシュについて説明しました。データ キャッシュは主にデータベース クエリ キャッシュを指します。ページにアクセスするたびに、対応するキャッシュ データが存在するかどうかが最初に検出され、存在しない場合はデータベースに接続してデータを取得し、クエリを完了します。
PHP キャッシュ テクノロジについて詳しく説明し、主にデータ キャッシュについて説明しました。データ キャッシュは主にデータベース クエリ キャッシュを指します。ページにアクセスするたびに、まず対応するキャッシュ データが存在するかどうかを検出し、存在しない場合はデータベースに接続してデータを取得し、クエリ結果をシリアル化して保存します。同じクエリ結果がキャッシュ テーブルまたはファイルから直接取得されます。
最も広く使用されている例は、結果 ID をテーブルにキャッシュし、次回同じキーワードを検索するときに最初にキャッシュ テーブルを検索する Discuz の検索機能です。
一般的な方法では、複数のテーブルが関連付けられている場合、アタッチされたテーブルの内容が配列に生成され、必要に応じて配列が 1 つだけ分解されるという利点があります。テーブルを読み取ることはできますが、欠点は 2 つあります。データを同期するにはさらに多くの手順が必要になるため、速度と引き換えにハードディスクを使用することが重要になります。
ページキャッシュ
ページにアクセスするたびに、まず対応するキャッシュされたページファイルが存在するかどうかを検出し、存在しない場合はデータベースに接続してデータを取得し、ページを表示してキャッシュされたページファイルを生成します。同時に、次回アクセスしたときにページ ファイルが有効になるようにします。 (インターネット上のテンプレート エンジンと一部の一般的なキャッシュ クラスには通常この機能があります)
時間トリガー キャッシュ
ファイルが存在するかどうか、およびタイムスタンプが設定された有効期限よりも小さいかどうかを確認します。 ファイル変更のタイムスタンプが設定された有効期限よりも小さい場合。現在のタイムスタンプから有効期限タイムスタンプを引いた値が大きい場合はキャッシュを使用し、そうでない場合はキャッシュを更新します。
コンテンツトリガーキャッシュ
データが挿入または更新されると、キャッシュは強制的に更新されます。
静的キャッシュ
ここでいう静的キャッシュとは、HTMLやxmlなどのテキストファイルを静的に直接生成し、更新があったときに再生成するものを指します。 あまり変更のないページに適しているので、話は省略します。それについてはここで。
メモリ キャッシング
Memcached は、データベースの負荷を軽減し、動的アプリケーションのアクセス速度を向上させるために使用される高性能の分散メモリ オブジェクト キャッシング システムです。
$memcache = new Memcache;
$memcache->connect('localhost', 11211) or die ("接続できませんでした");
Echo "サーバーのバージョン" : “.$version.”n”
$tmp_object = new stdClass;
$tmp_object->int_attr = 123; ('key', $tmp_object, false, 10) or die (“サーバーでのデータの保存に失敗しました”);
echo “データをキャッシュに保存します (データは 10 秒で期限切れになります)n”;
$get_result = $memcache->get('key');
echo "キャッシュからのデータ:n";
?>
$sql = 'SELECT * FROM users';
$key = md5($sql) //memcached オブジェクト識別子
if ( !($ datas = $mc->get($ key)) ) {
// memcached でキャッシュされたデータが取得できない場合は、データベースクエリを使用してレコードセットを取得します
echo “n”.str_pad('MySQL からデータを読み取ります。 ', 60, '_' )."n";
$conn = mysql_connect('localhost', 'test', 'test');
$result = mysql_query($ sql); $row = mysql_fetch_object($result))
$datas[] = $row;
// 次回アクセスのためにデータベースから取得した結果セットデータをmemcachedに保存します
を使用 $mc->add($key , $datas);
} else {
echo "n".str_pad('memcached からデータを読み込みます。', 60, '_')."n";
var_dump($datas);
?>
PHPバッファ
eaccelerator、apc、phpa、xcacheなど。
MySQL キャッシュ
これも非コードレベルとみなされます。以下の実行時間を見ると、0.09xxx のようです。
[クライアント]
……
default-character-set=gbk
default-storage-engine=MYISAM
max_connections=600
max_connect_errors=500
back_log=200
interactive_timeout=7200
query_cache_size=64M
……
table_cache=512
……
myisam _max_sort_file_size=100G
myisam_max_extra_sort_file_size=100G
myisam_sort_buffer_size=128M
key_buffer_size= 1024M
read_buffer_size=512M
……
thread_concurrency=8
リバースプロキシベースのWebキャッシュ
Nginx、SQUID、mod_PROxyなど(apache2以降はmod_proxyとmod_cacheに分かれています)
NGINXの例:
#user none;
error_log logs/error.log crit;
worker_rlimit_nofile 10240;
epoll を使用します
worker_connections 51200 ;
}
http {
include mime.types;
default_type application/octet-stream
# サーバープール
server 10.10.10.22 4:80 重量 = 1
サーバー 10.10.10.221:80 重み = 1;
アップストリーム bspstylesvr {
サーバー 10.10.10.202:80 重み = 1;
アップストリーム bsphelpsvr {
サーバー10.10.10.204: 80 重み=1;
アップストリーム bspwsisvr {
サーバー 10.10.10.203:80 重み =1
}
アップストリーム bspadminsvr {
サーバー 10.10.10.22 2:80 重量 = 1; 223:80 重量=1;
}
アップストリーム bspsellersvr {
サーバー 10.10.10.225:80 重み=1;
アップストリーム bsploginsvr {
サーバー 10.10.10.220:443 重み=1;
}
アップストリーム bspregistersvr {
server 10.10.10.220:80weight =1;
}
log_format test_com '$remote_addr – $remote_user [$time_local] "$request" '
$status $body_bytes_sent "$http_referer" "$http_user_a紳士「」 ;
#—————— ——————————————————–
#img.test.com
server {
listen 10.10.10.230:80;
server_name img.test.com;
location / {
proxy_pass http://bspimgsvr;
access_log logs/img.log test_com;
#スタイル.test.com
server {
listen 10.10.10.230:80;
server_name style.test.com
location / {
proxy_pass http://bspstylesvr;
}
access_log logs /style.log test_com;
include proxy_setting .conf
server_name admin.test.com; proxy_pass http ://bspadminsvr;
include proxy_setting.conf;
access_log logs/admin.log test_com;
#buyer.test.com
リッスン 10.10.10.23 0:80;
server_name buyer.test.com;
location / {
proxy_pass http://bspbuyersvr;
access_log log s/buyer.log test_com;
#seller.test.com
サーバー {
listen 10.10.10.230:80;
server_name sell.test.com;
location / {
proxy_pass http://bspsellersvr;
proxy_setting.confをインクルードします。
}
access_log logs/seller.log test_com;
}
#wsi.test.com
server {
listen 10.10.10.230:80;
server_name wsi.test.com;
location / {
proxy_pass http://bspwsisvr;
proxy_setting.confをインクルードします。
}
access_log logs/wsi.log test_com;
}
#www.test.com
server {
listen 10.10.10.230:80;
server_name www.test.com *.test.com;
location ~ ^/NginxStatus/ {
stub_status on;
access_log off;
}
location / {
proxy_pass http://bspfrontsvr;
proxy_setting.confをインクルードします。
}
access_log logs/www.log test_com;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
#login.test.com
server {
listen 10.10.10.230:443;
server_namelogin.test.com;
SSLオン。
ssl_certificate cert.pem;
ssl_certificate_key cert.key;
ssl_session_timeout 5m;
ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers がオン。
location / {
proxy_pass https://bsploginsvr;
proxy_setting.confをインクルードします。
}
access_log logs/login.log test_com;
}
#login.test.com 登録用
サーバー {
listen 10.10.10.230:80;
server_namelogin.test.com;
location / {
proxy_pass http://bspregistersvr;
proxy_setting.confをインクルードします。
}
access_log logs/register.log test_com;
}
}
proxy_redirect オフ;
proxy_set_header ホスト $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
mod_proxyの例:
ServerName www.zxsv.com
ServerAdmin admin@zxsv.com
#リバースプロキシ設定
ProxyPass / http://www.zxsv.com:8080/
ProxyPassReverse / http://www.zxsv. com:8080/
# キャッシュディレクトリルート
CacheRoot “/var/www/proxy”
# 最大キャッシュストレージ
CacheSize 50000000
# 時間: 4 時間ごと
CacheGcInterval 4
# ページの最大有効期限: 時間
CacheMaxExpire 240
# 有効期限 = (now – last_modified) * CacheLastModifiedFactor
CacheLastModifiedFactor 0.1
# デフォルトの有効期限タグ: 時間
CacheDefaultExpire 1
# コンテンツの割合が取得された後に強制的に完了: 60-90%
CacheForceCompletion 80
CustomLog /usr/local/apache/logs/dev_access_log 結合

多くの場合、キーワードと追跡パラメーターで散らかった長いURLは、訪問者を阻止できます。 URL短縮スクリプトはソリューションを提供し、ソーシャルメディアやその他のプラットフォームに最適な簡潔なリンクを作成します。 これらのスクリプトは、個々のWebサイトにとって価値があります

Laravelは、直感的なフラッシュメソッドを使用して、一時的なセッションデータの処理を簡素化します。これは、アプリケーション内に簡単なメッセージ、アラート、または通知を表示するのに最適です。 データは、デフォルトで次の要求のためにのみ持続します。 $リクエスト -

これは、LaravelバックエンドとのReactアプリケーションの構築に関するシリーズの2番目と最終部分です。シリーズの最初の部分では、基本的な製品上場アプリケーションのためにLaravelを使用してRESTFUL APIを作成しました。このチュートリアルでは、開発者になります

Laravelは簡潔なHTTP応答シミュレーション構文を提供し、HTTP相互作用テストを簡素化します。このアプローチは、テストシミュレーションをより直感的にしながら、コード冗長性を大幅に削減します。 基本的な実装は、さまざまな応答タイプのショートカットを提供します。 Illuminate \ support \ facades \ httpを使用します。 http :: fake([[ 'google.com' => 'hello world'、 'github.com' => ['foo' => 'bar']、 'forge.laravel.com' =>

PHPクライアントURL(CURL)拡張機能は、開発者にとって強力なツールであり、リモートサーバーやREST APIとのシームレスな対話を可能にします。尊敬されるマルチプロトコルファイル転送ライブラリであるLibcurlを活用することにより、PHP Curlは効率的なexecuを促進します

顧客の最も差し迫った問題にリアルタイムでインスタントソリューションを提供したいですか? ライブチャットを使用すると、顧客とのリアルタイムな会話を行い、すぐに問題を解決できます。それはあなたがあなたのカスタムにより速いサービスを提供することを可能にします

2025 PHP Landscape Surveyは、現在のPHP開発動向を調査しています。 開発者や企業に洞察を提供することを目的とした、フレームワークの使用、展開方法、および課題を調査します。 この調査では、現代のPHP Versioの成長が予想されています

この記事では、Laravel Webフレームワークの通知システムを検討します。 Laravelの通知システムを使用すると、さまざまなチャネルでユーザーに通知を送信できます。今日は、通知ovを送信する方法について説明します


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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