Play!play.api.Cache
ではシングルトン オブジェクトであるため、他のすべてのオブジェクトからグローバルにアクセスできます。そして、その性質上、キャッシュは変更可能なオブジェクトです。このようなグローバルな可変状態は、一般的に非常に問題があります。
特に、キー衝突の潜在的な問題があります。2 つの異なるクラス (それ以外の場合は互いに疎結合) は、同じキーを使用して何らかの値を保存することができます。次に、更新の 1 つが他の更新によって上書きされます。
この問題の解決策の 1 つは、globalCache
に委任することもできる新しいクラスを作成することですが、キーにある種の「名前空間」を追加することです。これを実装するのは難しくありませんが、この問題に対する何らかの標準的な解決策がすでにある (できれば Play! 自体に実装されている) 方がよいでしょう。ありますか?