Bosh sahifa Wiki Page size

Page size

Page size — sahifalangan so‘rovning bitta javobida qaytariladigan elementlar soni. API da page_size, per_page yoki limit parametri bilan berilishi mumkin. U sahifa raqami yoki cursorning o‘zi emas; u har bir qismning sig‘imini belgilaydi. To‘g‘ri chegaralangan page size javob hajmi, ma’lumotlar bazasi yuki va mijoz interfeysi tezligiga bevosita ta’sir qiladi.

Standart va maksimal qiymat

Server parametr berilmaganda standart qiymat tanlaydi, masalan 20 yoki 50. Mijoz kichikroq qiymat so‘rashi mumkin, lekin server odatda maksimal chegarani belgilaydi. page_size=1000000 kabi qiymat qabul qilinsa, pagination amalda chetlab o‘tiladi va katta xotira, uzoq so‘rov hamda tarmoq javobi yuzaga keladi.

Validatsiya quyidagilarni qamrab oladi:

  • qiymat butun va musbat son bo‘lishi;
  • nolning semantikasi aniq belgilanishi;
  • maksimal limitdan oshmasligi;
  • noto‘g‘ri qiymatga xato yoki hujjatlashtirilgan standart qo‘llanishi;
  • server qaytargan amaldagi page size javob metama’lumotida ko‘rsatilishi.

Server mijoz so‘ragan 500 o‘rniga 100 qaytarsa, keyingi offset yoki cursor amaldagi natija asosida hisoblanadi. Aks holda qatorlar tashlab ketilishi mumkin.

Ishlashga ta’siri

Kichik sahifa tez javob va kam xotira beradi, lekin barcha ma’lumotni olish uchun ko‘proq HTTP so‘rovi, autentifikatsiya tekshiruvi va baza round-trip kerak bo‘ladi. Katta sahifa so‘rovlar sonini kamaytiradi, ammo serialization, siqish, brauzer rendering va garbage collection xarajatini oshiradi.

Optimal qiymat faqat qatorlar soniga bog‘liq emas. Har elementdagi maydonlar, ichki obyektlar, rasm URLlari va hisoblangan qiymatlar javob baytini belgilaydi. 100 ta kichik ID ro‘yxati 20 ta katta profil obyektidan yengil bo‘lishi mumkin. Shu sababli latency, javob hajmi va baza vaqtini real ma’lumot bilan o‘lchash kerak.

Pagination usuli bilan bog‘liqligi

Offset paginationda page size o‘zgarsa, sahifa chegaralari ham o‘zgaradi. Mijoz birinchi so‘rovda 20, keyingisida 50 ishlatsa, page=2 qaysi pozitsiyadan boshlanishi noaniq bo‘lishi mumkin. Bevosita offset yoki server bergan next havoladan foydalanish bu xatoni kamaytiradi.

Cursor paginationda cursor ko‘pincha oxirgi tartib kalitini ifodalaydi, shuning uchun page size keyingi javob sig‘imini o‘zgartirishi mumkin. Shunga qaramay, ayrim cursorlar so‘rov filtri va limitni imzolangan token ichiga kiritadi; mijoz token semantikasini o‘zgartirmasligi kerak.

Interfeys va API semantikasi

Jadval ko‘rinishida page size ekrandagi satrlar soniga mos tanlanishi mumkin. Infinite scroll esa foydalanuvchi tezligi va oldindan yuklashga qarab kichik batchlar oladi. Eksport vazifasi interaktiv sahifalashdan farq qiladi: katta dataset background job va oqimli fayl orqali berilishi, API page size limiti oshirilmasligi mumkin.

So‘nggi sahifa page sizedan kam element qaytarishi normal. Bo‘sh ro‘yxat ma’lumot tugaganini bildiradi, lekin cursor API da next_cursor yo‘qligi aniqroq signal bo‘lishi mumkin. total_count mavjud bo‘lsa ham, parallel yangilanishlar sabab u keyingi so‘rovda o‘zgarishi ehtimol.

Kesh va tarmoq

Page size URL yoki cache key tarkibiga kiradi; 20 va 100 elementli javoblar bir xil obyekt emas. Juda ko‘p ruxsat etilgan qiymat CDN keshini parchalashi mumkin, shu sababli ayrim API faqat belgilangan variantlarni qabul qiladi. Javob siqilganda elementlar soni bilan bayt hajmi chiziqli bo‘lmasligi mumkin. Server byte budgetga yetsa, so‘ralgan page sizedan kam element va davom tokenini qaytarishi mumkin.

Bog‘liq tushunchalar

Pagination, Limit, Offset, Cursor pagination, Response size, Rate limiting