Maison > base de données > Redis > le corps du texte

Comment Redis résout les requêtes de pagination

(*-*)浩
Libérer: 2019-11-27 10:11:37
original
6559 Les gens l'ont consulté

Nous savons tous que la mise en cache des résultats des requêtes peut considérablement améliorer les capacités de service du système et réduire la pression sur le service ou la base de données sous-jacente. Pour la mise en cache avec des conditions de pagination, nous pouvons également mettre en cache plusieurs clés en fonction de différentes conditions de pagination.

Comment Redis résout les requêtes de pagination

Solution de mise en cache des requêtes de pagination basée sur SortedSet

La première solution qui vient à l'esprit est d'utiliser @see ListOperations< ;K, V> Au lieu d'utiliser plusieurs clés en fonction des conditions de pagination, utilisez une clé et mettez en cache toutes les données dans Redis sans pagination, puis utilisez range(key, start, limit) en fonction des conditions de pagination pour obtenir les résultats de la pagination. . (Apprentissage recommandé : Tutoriel vidéo Redis)

Cela posera un problème lorsque le cache échoue, le cache d'écriture simultané entraînera des données en double, c'est ce à quoi j'ai pensé. via Use set pour gérer les données en double pendant la simultanéité. être divisé en fonction du score Organiser les données dans la carte par ordre croissant de valeur. Généralement, le score est la valeur de fieldA dans l'ordre de fieldA de l'instruction SQL

. . Cependant, cette méthode présente également certains problèmes :

La valeur mise en cache par cette clé est bien des données chaudes, mais seules quelques données peuvent être fréquemment utilisées et le reste peut ne pas être utilisé du tout. Par exemple, s'il y a 100 pages de données, seules les 10 premières peuvent réellement être utilisées. Page, cela entraînera également un gaspillage d'espace cache si la mémoire virtuelle redis est utilisée, cela aura également un certain impact

<.>La requête SQL est passée de la requête de pagination d'origine à une requête sans pagination. Après l'échec du cache, la capacité de traitement du système sera inférieure à celle d'avant, en particulier pour les grandes tables

Pour plus de techniques liées à Redis. articles, veuillez visiter la colonne Tutoriel de démarrage 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!

Étiquettes associées:
source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal