• 08-06-2018, 00:15:29
    #1
    merhaba ;

    cache sistemine yeni yeni alışıyorumda birkaç yardıma ihtiyacım olacaktı bana dediklerine göre cache sistemi değişmeyen veriler için kullanılır benim şu an yaptım crm sisteminde stoklar silinebiliyor veya müşteriler silinebiliyor veya müşterilerin durumları aktifpasif olabiliyor bu tipbir yapıda cache nerede nasıl kullanılabiir
  • 08-06-2018, 00:45:34
    #2
    Değişmeyen veriler için cache sistemi basit bir cache sistemidir. PHP'deki ob_startlarla yapılabilir.

    Memcache veya Redis gibi gelişmiş cacheleme sistemleri parametreler üzerine kurulu sistemlerdir. Yani zaten çıkış amaçları değişen sayfaları cachelemektir.

    Örnek vermek gerekirse
    filtre.php sayfasında filtre.php?onay=1&guncel=1 gibi parametreleri key value olarak eşleştirip cache mekanizması kurmak gerekiyor.
  • 08-06-2018, 00:53:56
    #3
    Bay_Keskin adlı üyeden alıntı: mesajı görüntüle
    Değişmeyen veriler için cache sistemi basit bir cache sistemidir. PHP'deki ob_startlarla yapılabilir.

    Memcache veya Redis gibi gelişmiş cacheleme sistemleri parametreler üzerine kurulu sistemlerdir. Yani zaten çıkış amaçları değişen sayfaları cachelemektir.

    Örnek vermek gerekirse
    filtre.php sayfasında filtre.php?onay=1&guncel=1 gibi parametreleri key value olarak eşleştirip cache mekanizması kurmak gerekiyor.
    cevabınız için teşekkürler ama dediğim gibi bu anlattığınız bile mantığını kavrayamıyorum yani değişen veriyi nasıl algılayacak vs vs gibi çözümlenmeyen çok konu var kafamda
  • 08-06-2018, 03:45:33
    #4
    Loren adlı üyeden alıntı: mesajı görüntüle
    cevabınız için teşekkürler ama dediğim gibi bu anlattığınız bile mantığını kavrayamıyorum yani değişen veriyi nasıl algılayacak vs vs gibi çözümlenmeyen çok konu var kafamda
    Değişen veriyi o algılamayacak siz algılatacaksınız. Veritabanından nasıl verileri güncelliyorsanız memcache'deki key value'yi de o şekilde değiştireceksiniz. Veya sileceksiniz.
  • 08-06-2018, 08:47:36
    #5
    Bay_Keskin adlı üyeden alıntı: mesajı görüntüle
    Değişen veriyi o algılamayacak siz algılatacaksınız. Veritabanından nasıl verileri güncelliyorsanız memcache'deki key value'yi de o şekilde değiştireceksiniz. Veya sileceksiniz.
    yani kısacası çift veritabnı ile çalışıyormuş gibi düşüneceğiz doğrumudur ?

    birine insert ederken diğerinede insert edeceğiz aslında
  • 08-06-2018, 22:32:49
    #6
    Loren adlı üyeden alıntı: mesajı görüntüle
    yani kısacası çift veritabnı ile çalışıyormuş gibi düşüneceğiz doğrumudur ?

    birine insert ederken diğerinede insert edeceğiz aslında
    Doğru
  • 08-06-2018, 23:37:41
    #7
    Loren adlı üyeden alıntı: mesajı görüntüle
    merhaba ;

    cache sistemine yeni yeni alışıyorumda birkaç yardıma ihtiyacım olacaktı bana dediklerine göre cache sistemi değişmeyen veriler için kullanılır benim şu an yaptım crm sisteminde stoklar silinebiliyor veya müşteriler silinebiliyor veya müşterilerin durumları aktifpasif olabiliyor bu tipbir yapıda cache nerede nasıl kullanılabiir
    internetten buldum resmi, benzer mantıkta oldukları için



    istemci istek yapar, istek web sunucu yerine arada görev yapan proxy sunucuya iletilir. proxy sunucunun birçok kullanım amacı vardır ama asıl amaç cache'dir. istemci tarafından tarafından istenen bilgi proxy sunucu tarafından belleğe alınmışsa web sunucu ile irtibat kurulmadan cevap direk istemciye iletilir.

    benzer mantıkla veritabanı üzerinden bilgi alınmadan önce cache (proxy) sistemine sorulur. birine ekleme yapılırken diğerine ekleme yapılır gibi bir yaklaşım doğru değildir (istemci talep etmediği sürece neden saklayım??). bellekleme için kullanılacak anahtarlar önemli yere sahiptir. herhangi bir değişiklik olduğunda cache sisteminize bu değişiklikleri iletebilecek, esasen silecek bir kodlama yapınız olmalı.

    nesne yönelimli programlama kullandığını varsayarak "Chain of Responsibility" sorumluluk zinciri tasarım deseni bu iş için gayet uygundur. değişikliklerin algılanması için bellek anahtarları rastgele değil düzenli ve belirli bir yapıda verilmelidir. örnek olarak stoklar tablosuna ekleme/düzenleme/silme işlemi gerçekleştirildiğinde eğer stoklar tablosu verilerini sakladığınız cache anahtarlarında özel bir terim var ise (*) bu terimi içeren tüm cache verilerini silebilirsiniz.

    ya her ekleme düzenleme vs işleminden sonra cache silmesi için yazdığınız methodları çağıracaksınız ya da aspect-oriented programlama kullanıcaksınız.

    istediklerinizi uygulamak için orta seviye bir yazılım bilgisine sahip olmalısınız. fonksiyonel düz mantıkla cache var ise cache bilgilerini al yok ise veritabanı üzerinden al sonra cache sistemine kaydet gibi basit bir yapı üzerinden yapmaya kalkışmayın. sisteminiz büyüdükçe kod çöplüğü oluşur ki bu tür yazımlar günümüzde çöp kod adıyla ifade edilmektedir, tercih edilmez.

    iyi çalışmalar.