ページネーションを使用して PostgreSQL から多くの行を取得する HTTP 経由の API を作成しています。通常、私は通常、naive OFFET/LIMIT句を介してこのようなページネーションを実装します。ただし、この場合、いくつかの特別な要件があります。
- 多くの行があるため、ユーザーは最後に到達できないと思います (Twitter のタイムラインを想像してください)。
- ページはランダムにアクセスできる必要はなく、順番にのみアクセスできます。
- API は、連続したチャンクのページに移動するカーソル トークンを含む URL を返します。
- カーソルトークンは永続的に存在する必要はありませんが、しばらくの間存在する必要があります。
- その順序は (Reddit ランキングのように) 頻繁に変動しますが、連続カーソルは一貫した順序を維持する必要があります。
どうすればミッションを達成できますか? データベーススキーマ全体を変更する準備ができました!