Maison > base de données > Redis > Introduction au cache multiniveau Redis

Introduction au cache multiniveau Redis

Libérer: 2020-05-02 09:07:54
avant
3096 Les gens l'ont consulté

Introduction au cache multiniveau Redis

Selon la granularité de grossière à fine :

Prenons l'exemple de la page de détails du produit

Mise en cache au niveau de la page

1. 🎜>

(Parfois également appelé cache au niveau de l'URL, la page est rendue manuellement et enregistrée sur redis (key=product id, val="page de détails du produit. Lorsque cette page est demandée à nouveau dans le futur, elle est obtenue à partir de redis et renvoie le texte/html directement au front-end, et vous pouvez demander au navigateur de mettre la page en cache localement. L'inconvénient est que les données de la page ne sont pas mises à jour à temps)

2. Mise en cache au niveau de l'objet

.

(telles que les données produit, (key= product id, val="database "Find product data") enregistrera les informations produit interrogées une fois dans Redis. Lors de la deuxième demande de modification des données produit, la requête sera être donné la priorité à redis)

L'idée de la mise en cache redis est la suivante :

1. Vérifiez d'abord s'il y a des données dans redis

1.1. return

1.2. Sinon, interrogez la base de données, stockez-la dans redis, puis retournez

2 Faites attention à la mise en cache du cycle de vie,

Si le cycle est permanent. , alors redis s'effondrera facilement, ce n'est qu'une question de temps

Utilisation de redis dans la vente flash :

1. Tuez d'abord le flash L'inventaire des produits est pré-stocké dans redis

.

2. Après le début de la vente flash, l'inventaire est pré-diminué dans redis et réduit à 0. La vente flash du produit se termine (redis est monothread)

3. Si afin de réduire le besoin Pour la pression d'accès Redis, les demandes de vente flash soumises par les utilisateurs peuvent être placées dans mq (comme RabbitMq)

Par exemple, il n'y a que 10 produits au total, et un total de 100 000 utilisateurs les regardent, tous soumettant des demandes de vente flash presque en même temps,

3.1 Vous pouvez mettre la demande dans la file d'attente des messages et la renvoyer au front-end en tant que « file d'attente » ;

3.2. le consommateur (le "consommateur" de la file d'attente) lit dans la file d'attente des messages à une vitesse fixe Récupère les données et crée des commandes dans la base de données (c'est-à-dire crée 10 commandes de manière ordonnée, avec 0 impact sur la base de données),

3.3. Bien qu'il puisse s'agir des 10 principaux utilisateurs, si la création de la commande échoue pour une raison quelconque, la demande de vente flash de l'utilisateur sera placée à la fin de mq, puis des commandes seront créées pour d'autres utilisateurs dans la file d'attente

3.4. Si la commande est créée avec succès, la demande sera supprimée de mq et un SMS sera envoyé à l'utilisateur." Félicitations, la vente flash est réussie ! "

3.5. Après avoir créé avec succès 10 commandes (c'est-à-dire que la vente flash se termine), demandez aux autres utilisateurs dans la file d'attente de renvoyer "la vente flash a échoué"

Pour plus de connaissances sur Redis, veuillez faire attention Tutoriel d'introduction à Redis

colonne .

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:csdn.net
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