Mybatis 2 次キャッシュの構成手順: 1. 2 次キャッシュを有効にする; 2. 2 次キャッシュを構成する; 3. キャッシュの同時実行レベルを指定する; 4. 2 次キャッシュを使用する; 5. 2 次キャッシュをクリアする。 MyBatis は、クエリのパフォーマンスを向上させるための 2 次キャッシュ機能を提供します。2 次キャッシュは、複数の SQL セッションにまたがるキャッシュであり、データベースへのアクセス数を削減し、アプリケーションのパフォーマンスを向上させることができます。 2 次キャッシュを使用する場合は、複数のスレッドが同じデータを同時に変更しないように、スレッドの安全性の問題に注意する必要があります。
このチュートリアルのオペレーティング システム: Windows 10 システム、DELL G3 コンピューター。
MyBatis は、クエリのパフォーマンスを向上させるための 2 次キャッシュ機能を提供します。 2 次キャッシュは、複数の SQL セッションにまたがるキャッシュであり、データベース アクセスの数を減らし、アプリケーションのパフォーマンスを向上させることができます。 MyBatis の 2 次キャッシュの設定手順は次のとおりです:
1. 2 次キャッシュを有効にする
MyBatis のグローバル設定ファイル (mybatis- config.xml) に、次のように Configure を追加します。
<settings> <setting name="cacheEnabled" value="true"/> </settings>
これにより、MyBatis の 2 次キャッシュ機能が有効になります。
2. 2 次キャッシュの構成
2 次キャッシュを必要とする Mapper XML ファイルに、次の構成を追加します:
<cache/>
これにより、このマッパーの 2 次キャッシュ機能が有効になります。
3. キャッシュ同時実行レベルの指定
MyBatis のデフォルトのキャッシュ同時実行レベルは 1 で、これは 1 つのスレッドのみがキャッシュへのアクセスを許可されることを意味します。より高い同時実行レベルが必要な場合は、Mapper XML ファイルに次の構成を追加できます:
<cache concurrent="3"/>
これにより、キャッシュの同時実行レベルが 3 に設定されます。同時実行レベルが高いほどメモリ使用量が多くなるので、実際の状況に応じて選択する必要があります。
4. 2次キャッシュを使用する
MapperのSQL文では、useCache属性を使用して2次キャッシュを使用するかどうかを指定します。例:
<select id="selectUserById" resultType="User" useCache="true"> SELECT * FROM user WHERE id = #{id} </select>
この例では、useCache="true" は 2 次キャッシュを使用することを意味します。クエリ結果がすでにキャッシュに存在する場合は、キャッシュされた結果が直接返されます。そうでない場合は、データベースがクエリされ、結果がキャッシュに保存されます。
5. 2 次キャッシュをクリアする
マッパーの 2 次キャッシュをクリアする必要がある場合は、clearCache() メソッドを使用できます。例:
userMapper.clearCache(); // 清空 UserMapper 的缓存
これにより、このマッパーの 2 次キャッシュがクリアされます。すべてのマッパーの 2 次キャッシュをクリアする必要がある場合は、MyBatis のグローバル構成ファイルに次の構成を追加できます。
<settings> <setting name="clearCacheOnLogout" value="true"/> </settings>
これにより、ユーザーがログアウトするたびにすべての 2 次キャッシュがクリアされます。
上記は、MyBatis 2 次キャッシュの構成手順です。 2 次キャッシュを使用する場合は、複数のスレッドが同じデータを同時に変更しないように、スレッドの安全性の問題に注意する必要があることに注意してください。同時に、2 次キャッシュを使用して複数の SQL セッション間でデータの一貫性を確保する場合は、データの一貫性の問題も考慮する必要があります。
以上がmybatis の 2 次キャッシュを構成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。