我想知道在使用memcache时是否有更好的方法来处理“sql bursts”。 让我用一个例子来解释
object = memcache.get('some_key')
if object is None:
#multiple request will cause a bursts of sqls
object = Object() #this trigger some sql
memcache.set('some_key',oject,60)
所以我找到了避免sql突发的方法
object = memcache.get('some_key');
if(object is None or object.expire + rand(0,120) > now())
#this not guarantees sql burst, but it will reduce them
object = Object() #this trigger some sql
object.expire = now() + 300
memcache.set('some_key',object,60)
第二个选项不保证避免sql突发,我也不喜欢将expire添加到我的对象。