v2.5.2
Giriş yap

php | değişkendeki veriyi cache'de tutma

g4rymckinn0n
337 defa görüntülendi

merhaba, php de oldukça yeniyim ve öğrenmeye çalışıyorum. Bunu göz önünde bulundurarak size göre basit olan sorumu yanıtlarsanız sevinirim.

bir siteden file_get_contents ile veri çekiyorum. buradan gelen veriyi preg_match_all ile seçip değişkene aktarıyorum.

bunun gibi 8 tane değişkenim var. 8 kere preg_match_all ile veri alıyorum yani.

Her bir değişkeni tek tek cache'de tutmayı deneyim yapamadım.

Gelen veriyi dizi şeklinde tek bir değişkene aktardım, o tek değişkeni cache de tutmaya çalıştım onu da yapamadım.

file_get_contents den gelen veriyi ekrana cache'den yazdırmayı denedim onu da yapamadım. eğer bu olsaydı işimi görecekti. veri 30 dakikada 1 güncelleniyor ve ben buraya her refresh de sorgu göndermek istemiyorum sayfayı muazzam yavaşlatıyor.

örnek kod paylaşmamı isteyen olursa paylaşabilirim.
veri çektiğim site kuyumcular odası. gerekli izinleri veriyorlar fiyatı göstermem gerekiyor sadece.

yardımcı olursanız sevinirim. en azından yönlendirme de yapsanız olur. bu zamanda forumlarda düzgün yanıt almak zor o yüzden buraya geldim.

Cevap yaz
Cevaplar (4)
abdullahx
1047 gün önce

Hocam bana veri çektiğiniz site hakkında daha detaylı bilgiyi [email protected] adresinden verirseniz daha iyi yardımcı olabilirim.

Onun haricinde örneğin json çıktı veren bir API hizmetine istek atalım, dönen veriyi de localde bir dosya olarak kaydedelim. İsteğin atıldığı örneğin api.php adında bir dosya olsun

$file = file_get_contents('https://jsonplaceholder.typicode.com/posts');
file_put_contents(__DIR__ . DIRECTORY_SEPARATOR . 'datas.json', $file);

Siz bu kısımda tabii preg_match ile ayıkladığınız verileri düzgünce organize edip json formatına sokmanız gerekecek.

Daha sonra file_get_contents ile o siteye değil de bilgilerin tutulduğu datas.json (veya senin belirlediğin herhangi bir isim) dosyasına istek atacaksın.

$file = file_get_contents(__DIR__ . DIRECTORY_SEPARATOR . 'datas.json');
g4rymckinn0n
1046 gün önce

Çok teşekkür ederim. İlk mesajınızdan yola çıkarak birkaç araştırma yaptım. Sonraki mesajınızdakilere benzer dokümanlara ulaşıp deneye deneye sonuç aldım.

Mesela bunu cache sistemi yerine json dosyaya yazıp o dosyaya sorgu atmak hiç aklıma gelmedi. Tecrübe böyle bir şey :) Yanıtlar için teşekkür ederim. Ben de bildiğim konularda yanıt vereceğim.

g4rymckinn0n
1047 gün önce

yanıt için teşekkür ederim. peki bunu nasıl yapabileceğimle ilgili bir örnek paylaşabilir misin? nasıl arama yapmam gerektiğini söylesen de olur.

abdullahx
1047 gün önce

cache de falan tutmana gerek yok, çektiğin veriyi bir json dosyasında tut, sayfaya girenlere bu json dosyasında tutulan bilgileri göster. Bu json dosyasını da arkada her 30 dakikada bir cronjob ile de güncellersen sen de sürekli güncel kalmış olursun