1

webapp2 フレームワーク (Python) で Google App Engine を使用しています。

アプリへのほぼすべてのリクエストで、めったに変更されないいくつかの設定を考慮する必要があります。私の現在の実装にはクラスがあります

class Settings(ndb.Model):
    # a few ndb.KeyProperty and ndb.BooleanProperty types

各リクエストハンドラは関数を使用します

def get_settings():
    s = Settings.get_by_id('settings')
    if not s:
        s = Settings(id='settings')
        s.put()
    return s

ID「設定」を持つ単一のエンティティを取得します。NDB はこのエンティティを memcache に自動的に保存するため、機能は非常に高速ですが、今日、webapp2 のレジストリ属性を発見しました。

  1. get_settingsNDB/memcache をフォールバックとしてのみ使用して、設定エンティティをレジストリに書き込み、そこから取得することをお勧めしますか?

  2. それがレジストリの目的ですか?ドキュメントには、遅延インポートの例しかありません。

4

2 に答える 2

0
  1. レジストリをしばらく使用していますが、直面した問題を思い出すことができません。はい、必要に応じて使用できます。

追跡したいデータによっては、webapp2セッションライブラリを使用することもできます。セッションを使用する利点の 1 つは、Cookie の書き込みと読み取りができるため、書き込みと読み取りの一部を memcache に保存できることです (これは Google が請求します)。

  1. 開発者がこれを書いたときに何を考えていたのかはわかりませんが、今となっては知る由もありません。
于 2015-11-22T14:20:27.710 に答える