2

私は主に Play のコンテキストでデータベースとキャッシュについて話しています! Heroku のアプリ:

キャッシュはデータベースに対して何を行い、どのように使用するのですか?

4

1 に答える 1

3

キャッシュは、データベースへの過度のクエリを避けるために使用されます。

一部のクエリは、実行に特に時間がかかります。結果をキャッシュする (例: メモリに保存する) ことにより、高価なクエリを再度実行する必要がなくなります (データがまだ有効な期間 - 有効性は数分、またはデータが取り込まれるまで)。特定のテーブルが変更されます)。

キャッシュは通常、巨大なハッシュ テーブル、キーと値として実装されます。キーは、値を検索するために使用されます。

キャッシュの使用法は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")(ただし、見つからない場合は、とにかくクエリを実行する必要があります)。

于 2012-09-01T12:40:23.133 に答える