Je commence à utiliser memcache plus fréquemment pour éviter de devoir recalculer les choses entre les demandes de page. Lorsque le memcache s'efface périodiquement, comme il est conçu pour le faire, je dois recommencer à reconstruire divers éléments que j'ai placés dans memcache. Ce que je voudrais faire est de créer un modèle très simple qui me permet d'enregistrer périodiquement les éléments que j'ai mis dans memcache en fonction des clés memcache que j'utilise avec un datetime qui est lié aux données memcached. Quelle est la meilleure façon de procéder?Dans Google App Engine, quel est le moyen le plus simple de conserver un enregistrement des éléments que vous avez mis dans memcache?
Je cherche quelque chose comme ceci:
class MemcacheRecord(db.Model):
key = db.StringProperty(required=True)
value = #Something that can store whatever memcache can
validThru = db.DateTimeProperty(required=True)
def set(self, key, value, validThru):
#Save a new memcache record
newMemcacheRecord = MemcacheRecord(key=key, value=value, validThru=validThru)
..
return True # or False
def get_latest(self, key):
#Get the memcache record with the most recent validThru datetime
latestMemcacheRecord = MemcacheRecord.all().order('-validThru').get()
return {'validThru':latestMemcacheRecord.validThru, 'value':latestMemcachRecord.value}
Thilo, Laissez-moi élaborer. Après avoir passé tous les cycles du processeur pour calculer quelque chose, je veux l'enregistrer sur bigtable juste avant de le mettre dans memcache. Ensuite, tant que la clé est dans memcache, toutes les pages vont tirer à partir de là. Lorsque le memcache est effacé, je vais récupérer la dernière valeur enregistrée sur bigtable. – Chris
Je ne comprends pas. En quoi est-ce différent d'essayer de charger les données de memcache, et si ce n'est pas le cas, allez à bigtable? Voulez-vous accélérer la partie "essayer de charger à partir de memcache"? – Thilo
Je vois. Vous voulez aussi copier tout ce que vous mettez dans memcache dans bigtable, et vous demandez un modèle de données générique (pour bigtable) qui peut contenir tout ce que vous pouvez stocker dans un enregistrement memcache (avec les méta-données). Droite? – Thilo