önbelleğe alma ve önbelleğe alınmış içeriği kaçınarak

1 Cevap php

Ben sadece çok nadiren (olasılıkla kullanıcı aracını ayarlar yalnızca) güncellendi olacak bazı kullanıcı düzenlenebilir değişkenleri ile bir Widget var.

Aksine veritabanı isabet daha, ben memcache yoluyla Widget kullanıcı değişkenleri önbelleğe. Widget içeriği düzenli olarak değişiyor.

Ben kullanıcı aracını oluştururken ya da düzenlerken zaman Widget önbelleğe alınmış içeriği önler ve onlara widget en son sürümünü gösterir ve nocache parametresi vardır, böylece set-up var.

Endişe kullanıcı (nocache dahil) Widget değişkenleri alır ve bir yere bir sayfa içine sopa, böylece tamamen önbelleği görmezden gidiyor olmasıdır.

Ben kullanıcıların giriş denetleyen bir bileşeni ekleme düşünüyordum, ve açma kullanıcı Widget sahibi eşleşirse, sonra önbelleği kullanmak yok. Ancak, ben bir kullanıcı oturumu Widget yüklenen her zaman kontrol ediyorum, ve muhtemelen ben ne yapmak istediğinizi değil demektir.

Verimli yapmak için nasıl başka önerileriniz?

Widget izleyicilerin% 99.999999 yapman değil, bu yüzden bu kadar az yükü eklemek çalışıyorum.

1 Cevap

Eğer veritabanına kaydetmek gibi ne yapıyor olması gerektiğini, doğrudan memcached içine değerlerini ayarlıyor. Bu şekilde önbellek üzerinden gidiyor tüm istekleri olabilir ve bu geçici çözüm gerekmez.

Memcached SSS Update memcache as your data updates bakın

UPDATE

Bu memcache içine çiğ değişkenleri saklamak zorunda anlamına gelmez. Eğer işlenen sayfasını saklamak durumunda, her türlü vasıta ile memcache içine neden olduğunu tekrar ve mağaza render. Bu "çok zor" ise sadece DB değişiklikleri aynı sayfada memcached gelen eski verileri silmek olabilir ve sonra bir sonraki istek önbellekteyse eksik bulmak için bekleyin.