memcache избежать очередей sql - PullRequest
0 голосов
/ 05 декабря 2011

Я хочу знать, есть ли лучший способ обрабатывать "sql-всплески" при использовании memcache. позвольте мне объяснить на примере

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 к моему объекту.

1 Ответ

0 голосов
/ 05 декабря 2011

В memcache wiki .

есть несколько опций.
...