Cursor Pagination
Pagination par curseur
La pagination par curseur continue après un marqueur caché dans un ordre de tri fixe. Elle ne compte pas et ne saute pas chaque enregistrement précédent.
Un autre exemple
Une file d'attente de révision trie les cas par `created_at DESC, id DESC` et renvoie un `endCursor` qui cache les deux valeurs. Les nouveaux cas au-dessus ne répètent pas les lignes déjà examinées. Si l'enregistrement du curseur est supprimé, la page suivante commence toujours à la limite de tri, et les curseurs modifiés échouent à la validation.
Parties principales
- 01ordre unique déterministe
- 02Curseur de continuation opaque
- 03page avec bord limité
Utilisez-le lorsque
Utilisez-le pour des données triées volumineuses ou en évolution rapide lorsque la stabilité des pages suivantes et précédentes est plus importante que les numéros de page.
Ne l'utilisez pas lorsque
Ne cachez pas un décalage de base de données changeant en l'appelant un curseur. Ne promettez pas des sauts vers n'importe quelle page sans un plan d'index séparé.
Nom utilisé dans le code
opaque cursor over a unique deterministic sort key + first/after or last/before Avant d'expédier
Check contracts and invariants, authorization, and input limits. Test retries, one-time effects, timeouts, and partial failures. Verify data integrity, compatibility, monitoring, recovery, and rollback.
Outcome: Complete the task with Pagination par curseur (Cursor Pagination). User context: Une file d'attente de révision trie les cas par `created_at DESC, id DESC` et renvoie un `endCursor` qui cache les deux valeurs. Les nouveaux cas au-dessus ne répètent pas les lignes déjà examinées. Si l'enregistrement du curseur est supprimé, la page suivante commence toujours à la limite de tri, et les curseurs modifiés échouent à la validation. Technical concept or control: Pagination par curseur (Cursor Pagination). Why it fits: Utilisez-le pour des données triées volumineuses ou en évolution rapide lorsque la stabilité des pages suivantes et précédentes est plus importante que les numéros de page. Do not use it when: Ne cachez pas un décalage de base de données changeant en l'appelant un curseur. Ne promettez pas des sauts vers n'importe quelle page sans un plan d'index séparé. Engineering requirements: Define inputs, outputs, contracts, and rules that must always hold. Set authorization and input checks. Define failures, timeouts, retries, one-time effects, data moves, and compatibility limits. Operations: Add useful signals and logs that hide sensitive data. Set capacity limits and write an operator guide. Test recovery and rollback. Acceptance criteria: Contract and failure-path tests pass. Data and authorization rules still hold during retries and partial failures. Check performance limits, monitoring, recovery, and rollback. Evidence and limits (evidence boundary): Aucun standard officiel unique ne régit l’ensemble du terme. Sa signification peut varier selon les équipes, plateformes ou frameworks. Unknowns to confirm: Where the code runs, data stores, traffic shape, consistency needs, and the security boundary. Also confirm the compatibility period, service goals, and rollback limits.
Vérifiez cette demande
Review how Pagination par curseur (Cursor Pagination) is used now. Definition: La pagination par curseur continue après un marqueur caché dans un ordre de tri fixe. Elle ne compte pas et ne saute pas chaque enregistrement précédent. Release checks: Check contracts and invariants, authorization, and input limits. Test retries, one-time effects, timeouts, and partial failures. Verify data integrity, compatibility, monitoring, recovery, and rollback. Before changing code, list the evidence, gaps, severity, and the smallest safe fix.