私は主に Play のコンテキストでデータベースとキャッシュについて話しています! Heroku のアプリ:
キャッシュはデータベースに対して何を行い、どのように使用するのですか?
私は主に Play のコンテキストでデータベースとキャッシュについて話しています! Heroku のアプリ:
キャッシュはデータベースに対して何を行い、どのように使用するのですか?
キャッシュは、データベースへの過度のクエリを避けるために使用されます。
一部のクエリは、実行に特に時間がかかります。結果をキャッシュする (例: メモリに保存する) ことにより、高価なクエリを再度実行する必要がなくなります (データがまだ有効な期間 - 有効性は数分、またはデータが取り込まれるまで)。特定のテーブルが変更されます)。
キャッシュは通常、巨大なハッシュ テーブル、キーと値として実装されます。キーは、値を検索するために使用されます。
キャッシュの使用法はhttp://www.playframework.org/documentation/2.0/ScalaCacheで説明されています。そのためのコードを書くのはとても簡単です。何かをキャッシュに保存するには:
Cache.set("item.key", connectedUser)
ここでは、オブジェクトを格納するキーとオブジェクトを渡すだけです。
取得するには:
val user: User = Cache.getOrElseAs[User]("item.key") {
User.findById(connectedUser)
}
基本的にはgetOrElseAs[ここにデータをキャストするクラス](キーはここ)。
に渡すことができるブロックに注意してくださいgetOrElseAs
。それが見つからない場合は、データベースにクエリを実行できます。
それ以外の場合は、使用することもできますCache.getAs[User]("item.key")
(ただし、見つからない場合は、とにかくクエリを実行する必要があります)。