3

ドキュメントによると、memcacheユニットは、サーバーのRAM容量の問題のために削除されない限り、最大1か月の有効期間を持つことができます。

私のアプリは{'customer_id':'customer_name'}をmemcache(1600以上のアイテム)に保存します。これはオートコンプリートと顧客インデックスのニーズに使用されます。

ここにコードがあります:

memcache.add('keys', keys, time=86400) #if 'keys' is absent, then all memcache items are regenerated.
memcache.add_multi(names, time=86500, key_prefix='customer_id_')

問題は、私のエントリのほとんどが1時間ほどで期限切れになり、10個または11個のアイテムしか残らないことです。ドキュメントには、時間が設定されていない場合、memcacheアイテムのデフォルトの有効期間は1時間であるとも記載されています。

それで、memcacheのライフサイクルを誤って設定しましたか(そうであれば、なぜ10個のアイテムが残るのですか)、またはgoogle memcacheは11個以上のアイテムに対してこれを信頼できません(この場合はどうすればよいですか?このデータをXMLに保存しますか?)?

4

1 に答える 1

0

私の静かなアプリの現在の統計は、数時間にわたって何百ものアイテムを簡単に保持できることを示しています。

Item count:         285 item(s)
Total cache size:   5462609 byte(s)
Oldest item age:    11 hour(s) 38 min(s) 29 second(s)

1600個のアイテムがあり、1つのアイテム(キー+データ)のサイズが500バイト未満の場合は、それらすべてを辞書などとして1つのmemcacheエントリに保存することをお勧めします。

于 2013-03-19T04:57:12.487 に答える