• 16-02-2019, 20:50:55
    #10
    https://www.codeigniter.com/userguid...e/caching.html

    Verdiğiniz linki inceledim yanlız sanki çok farklı şeylerden bahsediyoruz yada ben sizi anlamadım yada siz codeigniter in cache yapısını yanlış anlamışsınız.

    Yukarıdaki linkte bahsedilen cache yapısı static bir yapı yani şunun için kullanabilirsiniz:
    Genelde değişmeyeceğini düşündüğünüz bir web sayfanız var ise sürekli db den gidip menü,sayfa içeriği çekmektense sayfanın html çıktısını static file şeklinde diskte saklayan bir yapı ve büyük ihtimalle ilk requestten sonra ilgili datayı uygulamanın çalıştığı makinenin önbelleğine alıp oradan veriyor.

    Yani benim bahsettiğim dinamik datanızın cachelenmesi ve cache üzerinde sorgularınızın yapılması/yapılmış sorguların cachelenmesi.

    Tahtaya çizip anlatasım geldi
  • 19-02-2019, 02:16:44
    #11
    Yurtnet adlı üyeden alıntı: mesajı görüntüle
    https://www.codeigniter.com/userguid...e/caching.html

    Verdiğiniz linki inceledim yanlız sanki çok farklı şeylerden bahsediyoruz yada ben sizi anlamadım yada siz codeigniter in cache yapısını yanlış anlamışsınız.

    Yukarıdaki linkte bahsedilen cache yapısı static bir yapı yani şunun için kullanabilirsiniz:
    Genelde değişmeyeceğini düşündüğünüz bir web sayfanız var ise sürekli db den gidip menü,sayfa içeriği çekmektense sayfanın html çıktısını static file şeklinde diskte saklayan bir yapı ve büyük ihtimalle ilk requestten sonra ilgili datayı uygulamanın çalıştığı makinenin önbelleğine alıp oradan veriyor.

    Yani benim bahsettiğim dinamik datanızın cachelenmesi ve cache üzerinde sorgularınızın yapılması/yapılmış sorguların cachelenmesi.

    Tahtaya çizip anlatasım geldi
    Yok hocam ben sizi çok iyi anladım. Ama siz ya size attığım cache sistemini yanlış anladınız yada ben codeigniter database cache sistemini yanlış biliyorum.

    Bir Web Page caching var

    https://www.codeigniter.com/user_gui...l/caching.html

    Bu doğru direk sayfayı ön belleğe alıp tekrar tekrar yüklemesinin önüne geçiyor.

    Birde database caching sistemi var

    https://www.codeigniter.com/userguid...e/caching.html

    Database caching sisteminde veritabanına yapılan ilk istek sonucu veritabanından dönen değerlerin hepsini sunucuda ki bir metin dosyasına depoluyor(Sayfayı depolamıyor sadece veritabanından dönen değerler). Sayfa bir daha yüklendiğinde tekrar veritabanına istek yapmak yerine verileri oradan çekmeye başlıyor.

    Tabi bunun detaylarını ayarlayabiliyorsunuz.

    Sizin bahsettiğiniz işlemde buna benzer bir şey değil mi? Sayfa cachelemekten bahsetmiyorum ben zaten.

    Bu işlemden sonrada aynı cachlenmiş tablomuza tekrar istek gönderince tekrar veritabanına bağlanmak yerine cachlenemiş veriler üzerinden sorgu yapabiliyoruz. (get,where,like,num) vs vs..

    CodeIgniter’s query caching system happens dynamically when your pages are viewed. When caching is enabled, the first time a web page is loaded, the query result object will be serialized and stored in a text file on your server. The next time the page is loaded the cache file will be used instead of accessing your database. Your database usage can effectively be reduced to zero for any pages that have been cached.

    Only read-type (SELECT) queries can be cached, since these are the only type of queries that produce a result. Write-type (INSERT, UPDATE, etc.) queries, since they don’t generate a result, will not be cached by the system.

    Cache files DO NOT expire. Any queries that have been cached will remain cached until you delete them. The caching system permits you clear caches associated with individual pages, or you can delete the entire collection of cache files. Typically you’ll want to use the housekeeping functions described below to delete cache files after certain events take place, like when you’ve added new information to your database.
  • 19-02-2019, 05:53:01
    #12
    benim gözümden kaçmış olabilir. tabi ben biraz daha farklı bir cache yapısından bahsediyorum ama sonucta sorgulanabilir bir cache yapısı varsa temelde cache cache dir desek tabikide 100% doğru olmaz ama yinede cache işte
    bu tartışma çok su götürür.

    Yazılımın temelini esnek bir yapıda planladıysanız zaten gerisi hikaye ileride istediğiniz yapınızı ayrıştırırsınız.
    birazda canlıya çıktıktan sonra oluşacak gereksinimlere göre haraket etmek gerekir tabi. ama burada olmazsa olmaz esnek bir yapıda planlamanız.