Maison  >  Article  >  base de données  >  Comment faire une pagination dans Redis

Comment faire une pagination dans Redis

(*-*)浩
(*-*)浩original
2019-11-29 10:15:416986parcourir

Comment faire une pagination dans Redis

Dans les affaires réelles, nous mettrons en cache certaines données chaudes dans Redis. Si la quantité de données est relativement importante à ce moment-là, nous devrons y paginer. Il y a 2 façons : (Apprentissage recommandé : Tutoriel vidéo Redis)

Première : Après avoir retiré toutes les données de Redis, effectuez une pagination de la mémoire (non recommandée), des données chaudes Vous pouvez faites-le lorsque vous êtes jeune et que la différence de performances n'est pas très grande, mais lorsque la quantité de données est importante, une grande quantité de mémoire sera occupée lors de la pagination, ou elle éclatera

; Deuxièmement : Structure de données basée sur redis Il existe deux types de pagination du cache :

① : basée sur la structure de données de liste de redis, directement via la structure de données de liste, la méthode range peut être utilisée pour la pagination . Lorsque la quantité de données est importante, les performances sont également impressionnantes, mais lorsqu'il y a un nombre élevé d'accès simultanés à l'interface, cette liste peut être étendue indéfiniment et il y aura beaucoup de duplication de données, ce qui affectera les activités normales. (pas très recommandé) ;

② : Sur la base de la structure de données ZSet de redis, nous pouvons également effectuer une pagination via Zset, une collection ordonnée. Nous utilisons également la méthode range, mais le plus gênant ici est que. lors de l'initialisation des données, Zset doit stocker les données de type TypedTuple. Ce type est une valeur et pour la paire clé-valeur de score, vous pouvez vérifier Baidu pour plus de détails. La génération de ce score est gênante. Lorsque j'ai testé ici, j'ai utilisé le. position des données actuelles dans cette liste, puis Zset a été trié en fonction de la valeur du score. La valeur par défaut est de petite à grande. L'avantage de l'utiliser est que même dans des situations de concurrence élevée, il n'y aura pas de données en double dans Zset, ce qui affectera les activités normales ; et l'efficacité de la pagination est similaire à la structure de la liste ;

③ : utilisez hash et Zset pour l'implémenter ensemble. J'ai interrogé un ami à ce sujet et j'ai appris que Zset stockait les champs d'identification et les obtenait. l'identifiant via la pagination, puis utilise l'identifiant pour l'obtenir à partir du hachage. Je pense que l'efficacité devrait être à peu près la même, mais il y a plus de couches au milieu de la structure de hachage, un autre hachage doit être conservé (; Je ne sais pas pourquoi cela est fait);

Publier une photo des résultats de ma liste de tests et de ZSet

Comment faire une pagination dans Redis

Pour plus d'articles techniques liés à Redis, veuillez visiter la colonne Tutoriel de démarrage de Redis pour apprendre !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Comment arrêter RedisArticle suivant:Comment arrêter Redis