1: はい。また、PHP セッションを Memcached に保存することを強くお勧めします。理由は次のとおりです。
Memcached は、データベースやファイルシステムから頻繁にアクセスされるデータの小さなチャンクを格納するのに最適です。
Memcached は、セッション専用に設計されています。もともとは livejournal.com の主任開発者の発案によるもので、後にユーザーの投稿のコンテンツをキャッシュするためにも使用されました。メリットはすぐに現れました。ほとんどのアクションはメモリ内で行われていました。ページの読み込み時間が大幅に改善されました。
ありがたいことに、PHP と Apache には、Memcached でセッションを処理するための簡単な実装があります。いくつかのシェルコマンドで簡単にインストール
Debian の例:
sudo apt-get -t stable install php7.4-memcached
と
php.ini 設定を次のようなものに変更します。
( https://www.php.net/manual/en/memcached.sessions.phpから取得)
session.save_handler = memcached
; change server:port to fit your needs...
session.save_path = "localhost:11211"
キーは session.save_path です
サーバー上の相対ファイル パスを指しなくなります。APCが言及されました-プログラムで使用される.phpファイルのキャッシュ用のAPC。APC と Memcached は IO を大幅に削減し、Apache/Nginx を画像などのサーバー リソースに解放します。
2: いいえ
3: Memcachedを使う根本的なデメリットはデータの揮発性
Memcached では、セッション データは永続的ではありません。そのため、サーバーがクラッシュすると、メモリ内のすべてのデータが失われます。全員が再度ログインする必要があります。
そして、メモリ消費があります...
注意: セッションはメモリに保存されます。Web サイトが多数の同時ユーザーを処理している場合は、より多くのメモリを割り当てるために多少の追加料金が必要になる場合があります。