पेजिंग API में अगले पृष्ठ पर टोकन



design pagination (1)

मेरे पास एक कुंजी द्वारा सॉर्ट किए गए सर्वर पर रिकॉर्ड्स की एक सूची है और खंडों की सूची एक-एक करके लौटने के लिए पेजिंग एपीआई का उपयोग करें। चूंकि वस्तुओं को सूची के मध्य में डाला जा सकता है, मैं अगले पृष्ठ की पहली चाबी को पृष्ठ पर अंक लगाना टोकन के रूप में वापस कर देता हूं, जिसे अगले पृष्ठ प्राप्त करने के लिए पारित किया जाना है।

हालांकि, मैंने पाया है कि डायनमोओडीबी एपीआई क्वेरी करने के बजाय मौजूदा पेज की अंतिम कुंजी का उपयोग करता है, जो कि अगर अगले पृष्ठ मौजूद नहीं है तो शून्य है।

सवाल:

वर्तमान पृष्ठ के अंतिम आइटम और पृष्ठ के पहले आइटम के पृष्ठ पर अंक लगाना टोकन के रूप में उपयोग करने के बीच पेशेवर और विपक्ष क्या हैं?

ध्यान दें:

मेरा पहला आइटम लौटने के लिए अधिक सहज है क्योंकि यह केवल अशक्त है यदि अगले पृष्ठ मौजूद नहीं है।


"वर्तमान पृष्ठ की अंतिम वस्तु" ( एलआईसीपी ) का प्रयोग "अगले पृष्ठ की पहली वस्तु" ( एफआईएनपी ) के उपयोग से बेहतर है क्योंकि यह संभावना के साथ बेहतर सौदा करता है, कि बीच में, इन दोनों वस्तुओं के बीच कुछ वस्तु ।

उदाहरण के लिए मान लें कि पहले पृष्ठ में 3 वर्णानुक्रम में वर्णित नाम हैं: एडम / तुलसी / क्लाउड और मान लें कि अगले पृष्ठ एलोन / फ्रांसिस / गिल्बर्ट है

फिर एलआईसीपी के साथ टोकन Claude , जबकि एफआईएनपी के साथ टोकन Elon । अगर कोई नया नाम नहीं डाला जाता है, तो परिणाम समान होता है जब हम अगले पृष्ठ प्राप्त करते हैं।

हालांकि, मान लीजिए कि हम पहला पृष्ठ प्राप्त करने के बाद Daniel नाम को सम्मिलित करते हैं लेकिन दूसरा पृष्ठ प्राप्त करने से पहले इस मामले में, जब हमें एलआईसीपी के साथ दूसरा पेज मिलता है, तो हमें Daniel/Elon/Francis , जबकि फ़िनिप के साथ हम Elon/Francis/Gilbert मिलते हैं। इसका अर्थ यह है कि FINP Daniel को याद करेगा, जबकि एलआईसीपी नहीं होगा।

इसके अलावा, एफआईएनपी एलआईसीपी से अधिक कंप्यूटिंग संसाधनों का उपभोग कर सकता है, क्योंकि आपको एक अतिरिक्त आइटम (4 आइटम, उपरोक्त उदाहरण में, केवल 3 की जगह) को पुनः प्राप्त करना होगा।





aws-sdk