私はEhcacheでHibernateを使用しています(重要ではないと思います)。ユーザーがログインすると、私は彼の電子メールで彼を識別し、その後のすべての呼び出しに彼の電子メールを使用します。さて、電子メールは私の「休止状態のID」(私@Id
が注釈を付けたもの)ではないので、クエリをロードして、クエリキャッシュに保存する必要があります。ただし、ユーザーがログアウトすると、それ以降にログインしている他のユーザーと共有する領域内に保存されているため、キャッシュから明示的に削除することはできません。
私の質問は次のとおりです。メソッドを使用してデータベースに再度アクセスすることなく、ユーザーを2次キャッシュにロードできますか(したがって、エビクションが容易になります)session().get(user)
?ここに別のポイントがあります。ユーザーが更新されると、このユーザーのクエリキャッシュが正しくなくなります。ユーザーを更新するときに更新したい