2017-07-19 8 views
1

Je joue avec cassandra depuis un certain temps et la seule chose dont je suis moins satisfait est la page précédente pagination. Autant que je puisse comprendre, Cassandra a un support de pagination automatique. Tout ce que j'ai à donner est PageSize et le PageState et son renvoi le prochain ensemble de lignes.Quelle est la bonne façon d'implémenter la navigation de page précédente dans Cassandra?

Je n'ai aucun problème avec le lien de page "Suivant" puisque chaque fois que j'interroge cassandra il renvoie le PageState suivant.

Cependant, je ne sais pas quelle est la bonne façon d'implémenter le lien de la page précédente. Depuis mon projet est une application web, il est très important d'avoir un lien vers la page précédente.

Pour le moment, la seule façon de revenir à la page précédente est de stocker tous les PagePage passés dans les Sessions.

Ceci est bien pour un site de quelques pages. Mais la raison pour laquelle je choisis cassandra est pour le big data. Je ne veux pas garder une trace de tous les états de Page.

Je ne veux pas exposer l'état de la page dans le navigateur, soit pour des raisons de sécurité. Quelle est la bonne façon d'implémenter la pagination avec un lien de page précédente?

+0

Quelle est la clé primaire de votre table? –

+1

La clé de clustering peut être utilisée pour la pagination –

+0

@AshrafulIslam Lorsque j'utilise la colonne clustering pour la pagination, les données ne sont pas classées correctement. Je peux devoir employer la fonction de jeton mais je préfère toujours la pagination automatique de cassandra. Merci – user1091558

Répondre

2

S'il vous plaît jeter un oeil à ce qui suit Backward paging in cassandra c# driver. Nous avons implémenté une chose similaire avec le cryptage cependant.

+0

Vous voulez dire que vous avez crypté l'état de la page? – user1091558

+0

Oui. Comme c'était assez long ... Nous l'avons fait aussi pour la pagination profonde SOLR via le driver Datastax Cassandra. – cdatta