0

5つのカテゴリの投稿のリストがあるとします。memcacheを実行する場合、カテゴリをどのように除外する必要がありますか?

class Post(db.Model):
    title = db.StringProperty(required=True)
    category = db.StringProperty()
    desc = db.StringProperty()

キャッシングを行う場合:

key = "allpost"
post = Post.all().order('-created')
memcache.set(key, post)

キャッシュされたオブジェクトでフィルターを使用してみました。そして明らかにそれはうまくいかないでしょう。

cached_post.filter( "category"、 "one")

できる機能はありますか?または、すべての投稿をキャッシュする前に、最初にすべてのカテゴリをフィルタリングするという苦痛を経験する必要がありますか?

4

1 に答える 1

1

名前の付いたものをmemcacheに入れて、キーを介して1つのピースとして再び取り出すことができます。潜在的にフィルタリングできるクエリの結果ではなく、不完全なクエリまたはモデルをmemcacheに入れているように見えます。

NDBを見てください。memcachingの多くはそれを使って行われます(ただし、クエリではありません)。

したがって、memcacheから取得したデータでフィルタリングすることはできますが、memcache内でフィルタリングするコマンドはありません。

利用可能な関数をご覧ください:https ://developers.google.com/appengine/docs/python/memcache/functions

于 2013-01-28T10:40:38.623 に答える