sqlite ile cache.
Merhaba arkadaşlar.
Aklıma bir fikir geldide sizlerede bir fikrinizi sorayım dedim. Öncelikle Çoğumuz yaptığımız scriptler de dosya tabanlı cache mekanizması kullanıyoruz. Çünki yapması kolay, ve memcache gibi bir server'a ihtiyac duymuyor v.s
dosya cachenin bazı kötü yönleri ise;
biraz yavaş kalması, dosya kalabalığı, cache edilicek veri dışında extra bilgiler girmek için biraz uğraştırıcı olması, hdd yi yorması v.b gibi.
Alternatif bir çözüm;
Çoğumuz sqlite veritabanını duymuşuzdur. Php 5 ile desteği gelen bu veritabanı tek bir dosyadan oluşuyor. Ve taşınabilir. ve kullanmak için tek bir dll dosyası yetiyor. Kii php de zaten sqlite kütüphanesi kendiliğinden ekli geliyor.
Bu veritabanı, boyuna göre oldukça güçlü. Fakat oracle, mysql, mssql gibi sistemler ile yarışamaz çünki yapım amacı o değil. Küçük ve orta çaplı verileri depolamak için geliştirilmiş bir veritabanı. (küçük ve orta veritabanı dediğim den kasıt maximum 200-300 mb lık bir veritabanı diyelim. Aslında sqlite bir tabloda max 32 tb veri depolayabiliyormuş. Yani 200-300 mb ile sınırlı değil. Fakat veriniz 1-2 gbı aştıktan sonra performans beklemeyin o veritabanından. )
Evet bu küçük canavar bu tür küçük verilerde mysqlden bile hızlı diyebiliriz. Resmen bir cin uşak Kimse tutamıyor.
Dosya cache yerine sqlite yi cache olarak kullansak nasıl olur ?
Bunca şeyi bu soruyu sormak için anlattım :):):) Ben denemedim eringeçliğimden fakat dosya cacheye göre çok daha iyi bir performans elde ediceğimizi düşünüyorum. Herkese kolay gelsin.
Php
aslında fena bir fikir degil ama ben cache icin kullanmazdım eger web sitesi sosyal ag tarzi bir sey degilse yada anlık kullanıcı sayısı cok fazla degilse ugrasmaya degmez ama sqllite sql baglantı kodlarını falan bir paylasırsan cok sevinirim veri tabanı olarak hic kullanmadım bir deneyeyim :)
Php
Aslında cache sistemi kullanmak istememin esas sebebi şu. Bazı host aldığımız firmalar sunucunun kapasitesi üstünde host veriyorlar. buda en çok mysql serverin yavaşlamasına neden oluyor. Yani aslında sitenizde pek hit yokken bile sırf başka sitelerin mysqli sömürmesi nedeni ile sizde o yavaşlığı çekiyorsunuz. cache derdim ondan yani :)
Rarlı dosyanın içinde kendim için yazdığım bir sqlite sınıfı var. Aslında o sınıfı sırf sqlite 3 kütüphanesinin büyüklü küçüklü iğrenç fonksiyon isimlerine alışamadığım için yazdım. Haliyle birazda esnek olsun diye. Kullanımını direk anlarsınız zaten.
kolay gelsin.
Php
cok tesekkurler hocam eger mysql rahatlatmak icin düsünüyorsan evet o zaman mantıklı ayrıca verilerin hepsini mysql tutmak yerine xml falanda kullanabilirsin boylece mysql somurmemis olurlar ozellikle uzun süre degismeyecek bir icerik kullanacaksan tavsiye ederim
Php
Önemli değil. xml de kullandım fakat sqlite daha bi kolay ve çekici geldi :):):)
Php
cok tesekkurler hocam eger mysql rahatlatmak icin düsünüyorsan evet o zaman mantıklı ayrıca verilerin hepsini mysql tutmak yerine xml falanda kullanabilirsin boylece mysql somurmemis olurlar ozellikle uzun süre degismeyecek bir icerik kullanacaksan tavsiye ederim
Php
hımm güzel bir fikir gerçekten...
bozkurt ustam bende sizinkine benzer bir yöntem kullanıyorum şahsi görüşüm tabiki bu xml alternatifi olarak gördüğüm json yöntemini kullanıyorum :)