Ben (bir MySQL veritabanı veya düz dosya olması) bu veri çekme, işaretçiler bir dizi üzerinde ve her öğe için döngü gereken bir PHP işlevini yazıyorum. Potansiyel yineleme binlerce ve binlerce olabilir gibi herkes bu optimize herhangi bir fikir var mıydı?
Benim ilk fikir üzerinde çalışmak ve herhangi bir değişiklik sadece sonunda ben diske temizleyebilirsiniz o önbelleğe dizisini değiştirmek önbelleğe alınan veriler statik bir dizi sahip oldu. Ben sadece dizide 30 civarında tutmak Ancak 1000 öğeleri bir döngü içinde, bu yararsız olacaktır. Her madde çok büyük değil ama bellekte bunların 1000 + disk depolama dolayısıyla ihtiyaç, yol çok fazla.
Veri sadece tefrika nesneleri gzip'lenmiş. Şu anda veri depolamak için bir veritabanı kullanıyorum ama belki düz dosyalar (I eşzamanlılık sorunları umurumda değil ve ben bunu ayrıştırmak gerek yok, sadece halletmek ve unserialize) daha hızlı olacağını düşünüyorum. Zaten bir seferde 5 ürün çekme (DB bağlantıları azaltmak için) ve bu önbellek saklayabilirsiniz olacak özel bir yineleyici var. Fakat yine de, ben binlerce tekrarlatacak gerektiğinde 30 bir önbellek kullanarak oldukça gereksiz olduğunu.
Temelde sadece hızlı bir şekilde bu çok öğe üzerinde yineleme için bir yol gerekir.