Sıralaması / özellikleri değiştirilebilen sayfalandırılmış arama sonuçlarını önbelleğe almak için en iyi uygulama hangisidir?
Diyelim ki başvurumda birisi son 20 tartışma konusunu görmek istiyor (10.000 üzerinden). servlet
Tartışma dizileri tablosundan ilk 20 kaydı XML / JSON olarak almak için veritabanına bir istek gönderilir . Daha sonra gelecek 20'yi görmek istiyorlarsa, sonuçların bir sonraki sayfasına giderler ve bu, bir sonraki partiyi almak için başka bir talep başlatır (limit ve ofset = 20, vb.).
Sunucu yükünü ve istemci beklemeyi azaltmak için önceki sonuç sayfalarını önbelleğe almak istiyorum. Ancak, iki sorum var:
- Sonuçların gösterildiği tablo birden fazla özellik tarafından sıralanabilir (ör. İş parçacığı oluşturma tarihi, iş parçacığı yazarı, son yayın tarihi). Bu, 'ilk 20 sonuç' gibi bir ifadenin bağlam olmadan hiçbir anlam ifade etmediği anlamına gelir (yani, ne ile sipariş veririz). Öyleyse, ön uç zaten yüklediklerini arka uçla nasıl iletişim kurar? İlk düşüncem, her sonuç için kimlik kullanmaktı, ancak sonraki isteklerde (ve sonuçlara göre filtreleme sonuçları) sunucuya geri göndermek, her şeyi körü körüne geri göndermek kadar zaman alıcı olurdu. Bunu nasıl yapabilirim?
- Önceden döndürülen bir sonucun (yani, en son tarih sonrası) niteliği değiştiyse ne olur? Daha sonra, sayfalandırıldığından beri sunucu tarafında değiştirilip değiştirilmediğini görmek için her bir sonucu kontrol etmenin bir yoluna ihtiyacımız var. Bunu nasıl yapabilirim?