(Php) memcache invalidation rutin yardımcı etrafında herhangi bir desen?

1 Cevap php

Projemin bazı önbelleğe alınmış unsurları memcache saklanır. Ben önbellek invalidation kontrolünü basitleştirmek için (elbette yerli değil,) memcache etiketleme mekanizmasını kullanıyorum. Her şey tamam, ancak proje, büyüyor kontrolörleri ve model sayısı artıyor ve bu önbellek invalidation kontrolü desteklemek için gerçekten zor oluyor. Ne yazık ki, ... invalidate önbelleğini unutmak yaygın bir durumdur: (bunu önlemek için yardımcı herhangi bir kod desenler var mı?

Ben modeli veya denetleyicisi memcache invalidation rutin ayrı olabilir eğer gerçekten harika olurdu.

Teşekkür ederim.

1 Cevap

Bu sizin için ne arıyorsanız eğer emin değil

function update_foo(int userid, string dbUpdateString) {
     result = db_execute(dbUpdateString);
     if (result) {
         data = createUserDataFromDBString(dbUpdateString);
         memcached_set("userrow:" + userid, data);
     }
 }

Bu çağrı veritabanı sorgu başarılı varsayarak, veritabanında yeni verileri eşleştirmek için şu anda önbelleğe alınan verileri güncelleştirmek.

Bkz http://en.wikipedia.org/wiki/Memcached