Python 使用memcache限制对数据库的写入量
我试图修改留言簿示例webapp以减少数据库写入量 我试图实现的是将所有留言簿条目加载到memcache中,这是我所做的 但是,我希望能够使用新的留言簿条目直接更新memcache,然后每30秒将所有更改作为批处理写入数据库。() 有人举过我如何实现上述目标的例子吗?这对我真的很有帮助Python 使用memcache限制对数据库的写入量,python,google-app-engine,caching,memcached,google-cloud-datastore,Python,Google App Engine,Caching,Memcached,Google Cloud Datastore,我试图修改留言簿示例webapp以减少数据库写入量 我试图实现的是将所有留言簿条目加载到memcache中,这是我所做的 但是,我希望能够使用新的留言簿条目直接更新memcache,然后每30秒将所有更改作为批处理写入数据库。() 有人举过我如何实现上述目标的例子吗?这对我真的很有帮助 谢谢:)这是丢失数据的秘诀。我很难相信一本客座书会导致足够多的写作活动成为一个问题。此外,由于memcache是不可搜索的,因此这一过程中涉及的簿记工作也很棘手。您试图实现的目标被称为,通常并不像一开始看起来的那
谢谢:)这是丢失数据的秘诀。我很难相信一本客座书会导致足够多的写作活动成为一个问题。此外,由于memcache是不可搜索的,因此这一过程中涉及的簿记工作也很棘手。您试图实现的目标被称为,通常并不像一开始看起来的那样容易实现。正如我所知,目前还没有针对Memcached/GAE的Python现成解决方案,但您可以看看。它具有的一些基本功能(请参见appengine.py和memcache.py),因此它可以作为您自己解决方案的基础 Memcache是一种易失性存储器,用于存储有价值的数据,如留言簿条目;请记住,例如,在内存不足的情况下,memcache数据可能会被逐出 如果您的留言簿流量很大,并且您正在经历写入数据存储超时/争用,请尝试使用另一种方法,使用限制的速率来降低写入数据存储的次数
队列.yaml中定义低速执行:
queue:
- name: relaxed-write
rate: 1/s
bucket_size: 1
每秒写入一次,可能会出现一些零星的超时错误;在这种情况下,任务将再次执行,直到成功。您是最近第二个询问类似问题的人。我认为有一些不好的优化经验。您应该避免单独执行put,并尽可能尝试批处理put,但如果不先将数据写入数据存储,就不应该将希望再次看到的数据放入memcache。