PHP;

3 Cevap php

Benim oyunda kullanıcı verilerini işleme daha verimli yolu nedir ilgileniyorum. Birisi oyun oynarken, sunucudan verileri sürekli veritabanından sorgulanan gerekir.

Bu yüzden veritabanı sorgulama tutmak veya bir oturumda ilk sorgusundan verileri depolamak ve daha sonra oturumuna ben veri gerek her zaman kullanmaya devam etmek daha verimli olup olmadığını bilmek istiyorum.

Ben daha iyi oturumları olacak düşünüyorum, ama% 100 emin olmak için en iyisi gibi bu aptalca bir soru :)

3 Cevap

Veriler sadece söz istemci oturumu tarafından güncellenir edilecek olursa, o zaman emin, önbellek bu oturumda. Diğer işlemler güncelleme olacak, o zaman veritabanından reobtain veya oturumun önbelleğe alınmış sürümünü geçersiz için bazı yöntem çalışmak ya gerekir.

Eğer büyük bir acı olduğunu, paylaşılan erişim kendini yönetmek için hazır olmadıkça paylaşılan durum, veritabanında gider.

Genellikle güncellenen kullanıcı özel durum (Eğer bir güncelleştirme sorunu eğer herkes senin oyununda bir tuşa bastığında, her zaman, veritabanı öldü) oturumuna gider.

Eğer bir süper oturum mimarisi gerekiyorsa, memcached deneyin.

Oturumları kullanarak daha verimli olacaktır. Ama kullandığınız veri kümesi güncellemeleri kullanıcı tarafından çağrılan herhangi bir başka komut şekilde önbellek geçersiz kılmalıdır (önbellek olarak oturumunda verileri varsayarak).

Bu (şimdi bir oturumda maitained) önbellek diğer komut için erişilebilir olması gerektiği anlamına gelir. Bu yüzden dosyaları önbelleği korumak daha kolay olabilir (ya da php_apc veya memcached kullanabilirsiniz) yerine oturumları.

Ben iyi ama ben sadece deneyim Zend_Cache ile ve kullanımı gerçekten çok kolay birçok önbelleğe sınıfları olduğunu düşünüyorum. Bu backendleri (aka saklama) gibi APC, memcached, dosya, vb destekler