他のすべての項目は良い提案です。もう 1 つ: 絶対に必要でない場合は、セッション状態を使用しないでください。
データベースにセッションを保存することは、(一般的に) いくつかの単純な理由から悪い考えです:
セッションの一般的な使用法は、データベース サーバーから共通データを何度もロードする必要がないようにすることです。セッションが db サーバーに保存されている場合は、実際にはあまり達成していません。
セッションは、単一ページの実行ごとにシリアライズおよびデシリアライズする必要があります。これは、セッション データをサーバーから取得し、使用するかどうかに関係なく、ページが読み込まれるたびにサーバーに書き戻す必要があることを意味します。
私の経験では、実際に必要なときにデータベース サーバーからデータをプルするだけで十分です。ほとんどの場合、実際にはパフォーマンスの問題を悪化させているのに、単にパフォーマンスの問題を解決していると考えているという理由だけで、あらゆる種類の短命のデータをセッションに入れます。
さらに、データの量を制限すると (たとえば、ユーザー ID、名前など)、それを暗号化された Cookie クライアント側に格納でき、まったく心配する必要がなくなります。
MemCache は 1 つのオプションです。ただし、データベースの使用状況を真剣に調べて、最初にクエリとスキーマのパフォーマンスを調整できるかどうかを確認します。