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

Comment faire une pagination dans Redis

Nov 29, 2019 am 10:15 AM
redis

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 de ce site Web
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 chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Solution à l'erreur 0x80242008 lors de l'installation de Windows 11 10.0.22000.100 Solution à l'erreur 0x80242008 lors de l'installation de Windows 11 10.0.22000.100 May 08, 2024 pm 03:50 PM

Solution à l'erreur 0x80242008 lors de l'installation de Windows 11 10.0.22000.100

Comment changer le mot de passe dans Redis Comment changer le mot de passe dans Redis Apr 20, 2024 am 03:00 AM

Comment changer le mot de passe dans Redis

Analyser les goulots d'étranglement des fonctions PHP et améliorer l'efficacité de l'exécution Analyser les goulots d'étranglement des fonctions PHP et améliorer l'efficacité de l'exécution Apr 23, 2024 pm 03:42 PM

Analyser les goulots d'étranglement des fonctions PHP et améliorer l'efficacité de l'exécution

Redis est-il un cache mémoire ? Redis est-il un cache mémoire ? Apr 20, 2024 am 05:26 AM

Redis est-il un cache mémoire ?

Stratégie de mise en cache et optimisation de l'API Golang Stratégie de mise en cache et optimisation de l'API Golang May 07, 2024 pm 02:12 PM

Stratégie de mise en cache et optimisation de l'API Golang

Redis est-il une base de données non relationnelle ? Redis est-il une base de données non relationnelle ? Apr 20, 2024 am 05:36 AM

Redis est-il une base de données non relationnelle ?

Mécanisme de mise en cache et pratique d'application dans le développement PHP Mécanisme de mise en cache et pratique d'application dans le développement PHP May 09, 2024 pm 01:30 PM

Mécanisme de mise en cache et pratique d'application dans le développement PHP

Lequel a les meilleures performances, erlang ou golang ? Lequel a les meilleures performances, erlang ou golang ? Apr 21, 2024 am 03:24 AM

Lequel a les meilleures performances, erlang ou golang ?

See all articles