Maison base de données Redis Comment développer une fonctionnalité de mise en cache de données à l'aide de Redis et JavaScript

Comment développer une fonctionnalité de mise en cache de données à l'aide de Redis et JavaScript

Jul 31, 2023 pm 01:17 PM
php javascript redis 数据缓存 错误日志记录 error_log函数

Comment développer une fonction de mise en cache de données à l'aide de Redis et JavaScript

Introduction :
Dans les applications Web modernes, la mise en cache des données est l'un des moyens importants pour améliorer les performances et la vitesse de réponse. Redis est une base de données en mémoire hautes performances largement utilisée pour la mise en cache des données. JavaScript est un langage de script puissant utilisé pour implémenter de riches fonctions interactives dans les pages Web. Cet article expliquera comment utiliser Redis et JavaScript pour développer des fonctions de mise en cache de données et démontrera son processus de mise en œuvre à l'aide d'un exemple de code.

1. Introduction et installation de Redis
Redis (Remote Dictionary Server) est une base de données open source en mémoire présentant les caractéristiques de haute performance et de haute disponibilité. Il prend en charge une variété de types de données, tels que des chaînes, des tables de hachage, des listes, des ensembles, des ensembles ordonnés, etc., et fournit un riche ensemble de commandes pour implémenter diverses opérations de données complexes.

Pour utiliser Redis, vous devez d'abord installer le serveur Redis. Vous pouvez télécharger la dernière version de Redis depuis le site officiel de Redis (https://redis.io/), l'installer et la configurer conformément à la documentation officielle. Une fois l'installation terminée, démarrez le serveur Redis.

2. Utilisez Node.js pour vous connecter à Redis
L'utilisation de Redis en JavaScript nécessite l'aide de la bibliothèque client Redis. Nous prenons l'environnement Node.js comme exemple et utilisons la bibliothèque ioredis comme démonstration.

Tout d'abord, nous devons installer la bibliothèque ioredis dans le projet. Entrez le répertoire du projet via la ligne de commande et exécutez la commande suivante :

npm install ioredis
Copier après la connexion

Une fois l'installation terminée, introduisez la bibliothèque ioredis dans le fichier JavaScript :

const Redis = require('ioredis');
Copier après la connexion

Ensuite, créez une connexion client Redis :

const redis = new Redis({
  host: 'localhost',
  port: 6379,
});
Copier après la connexion

Maintenant, nous pouvons utilisez l'objet redis pour vous connecter au serveur Redis Effectuez diverses opérations.

3. Utilisez Redis pour implémenter la mise en cache des données
L'idée principale de la mise en cache des données est de mettre en cache les données fréquemment lues en mémoire pour éviter d'accéder à la base de données à chaque requête, améliorant ainsi la vitesse d'accès.

Ce qui suit est un exemple simple pour illustrer comment utiliser Redis pour implémenter la fonction de mise en cache des données. Supposons que nous ayons une application Web qui doit lire les informations utilisateur. Une approche consiste à interroger la base de données pour chaque demande afin d'obtenir des informations sur l'utilisateur. Une autre approche consiste à enregistrer les informations utilisateur dans Redis et à interroger Redis d'abord pour chaque requête. Si des données existent dans le cache, renvoyez-les directement, sinon interrogez-les à partir de la base de données.

Tout d'abord, nous devons définir une fonction pour obtenir des informations sur l'utilisateur. Si des informations utilisateur existent dans le cache, les données mises en cache sont renvoyées directement ; sinon, les informations utilisateur sont interrogées dans la base de données et les résultats sont stockés dans le cache.

async function getUserInfo(userId) {
  const cacheKey = `user:${userId}`;
  
  // 从Redis缓存中读取用户信息
  let userInfo = await redis.get(cacheKey);
  if (userInfo) {
    console.log('从缓存中获取用户信息');
    return JSON.parse(userInfo);
  }
  
  // 从数据库中查询用户信息
  userInfo = await db.getUserInfo(userId);
  
  // 将用户信息存入Redis缓存
  await redis.set(cacheKey, JSON.stringify(userInfo));
  console.log('从数据库中获取用户信息');
  
  return userInfo;
}
Copier après la connexion

En appelant la fonction getUserInfo, nous pouvons obtenir des informations sur l'utilisateur et obtenir l'effet de mise en cache des données.

getUserInfo(1).then(console.log);
getUserInfo(1).then(console.log);

// 输出:
// 从数据库中获取用户信息
// { id: 1, name: 'Alice' }
// 从缓存中获取用户信息
// { id: 1, name: 'Alice' }
Copier après la connexion

Dans l'exemple, la fonction getUserInfo génère d'abord une clé de cache unique via cacheKey, puis appelle la méthode redis.get pour lire les données du cache de Redis. Si le cache existe, les données mises en cache sont renvoyées directement ; sinon, la méthode db.getUserInfo est appelée pour interroger les informations utilisateur de la base de données et les résultats sont stockés dans le cache Redis.

De cette façon, nous pouvons implémenter la fonction de mise en cache des données. Lorsque plusieurs requêtes obtiennent les mêmes données en même temps, le cache Redis ne doit être interrogé qu'une seule fois, réduisant ainsi la pression sur la base de données.

Conclusion :
Grâce à la combinaison de Redis et de JavaScript, nous pouvons facilement implémenter la fonction de mise en cache des données et améliorer les performances et la vitesse de réponse des applications Web. Dans les applications réelles, nous pouvons concevoir des stratégies de mise en cache plus flexibles et plus complexes basées sur des besoins spécifiques, et les combiner avec d'autres méthodes d'optimisation pour améliorer encore les performances des applications et l'expérience utilisateur.

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

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)

Pourquoi une erreur se produit-elle lors de l'installation d'une extension à l'aide de PECL dans un environnement Docker? Comment le résoudre? Pourquoi une erreur se produit-elle lors de l'installation d'une extension à l'aide de PECL dans un environnement Docker? Comment le résoudre? Apr 01, 2025 pm 03:06 PM

Causes et solutions pour les erreurs Lors de l'utilisation de PECL pour installer des extensions dans un environnement Docker Lorsque nous utilisons un environnement Docker, nous rencontrons souvent des maux de tête ...

Comment démarrer efficacement plusieurs services dans Dockerfile? Comment démarrer efficacement plusieurs services dans Dockerfile? Apr 01, 2025 pm 02:15 PM

À propos de l'utilisation efficace des commandes CMD dans Dockerfile De nombreux nouveaux utilisateurs de Docker utilisent CMD ...

Comment résoudre le problème de conversion de type user_id lors de l'utilisation du flux redis pour implémenter les files d'attente de messages dans le langage Go? Comment résoudre le problème de conversion de type user_id lors de l'utilisation du flux redis pour implémenter les files d'attente de messages dans le langage Go? Apr 02, 2025 pm 04:54 PM

Le problème de l'utilisation de Redessstream pour implémenter les files d'attente de messages dans le langage GO consiste à utiliser le langage GO et redis ...

Comparaison des files d'attente Redis et de la stabilité de MySQL: Pourquoi Redis est-il sujet à la perte de données? Comparaison des files d'attente Redis et de la stabilité de MySQL: Pourquoi Redis est-il sujet à la perte de données? Apr 01, 2025 pm 02:24 PM

Comparaison des files d'attente Redis et de la stabilité de MySQL: Pourquoi Redis est-il sujet à la perte de données? Dans l'environnement de développement, en utilisant des cadres Php7.2 et ThinkPhp, nous sommes souvent confrontés au choix de la coopération ...

Comment vérifier efficacement la validité des connexions redis dans le projet Laravel6? Comment vérifier efficacement la validité des connexions redis dans le projet Laravel6? Apr 01, 2025 pm 02:00 PM

Comment vérifier la validité des connexions Redis dans les projets Laravel6 est un problème courant, en particulier lorsque les projets s'appuient sur Redis pour le traitement des entreprises. Ce qui suit est ...

Comment appliquer Debian Strings sur un site Web Comment appliquer Debian Strings sur un site Web Apr 02, 2025 am 08:21 AM

Cet article explique comment optimiser les performances du site Web sur Debian Systems. "Debianstrings" n'est pas un terme standard et peut se référer aux outils ou technologies utilisés dans Debian Systems pour améliorer les performances du site Web. Voici quelques conseils pratiques: 1. Il est recommandé d'utiliser le panneau Pagoda pour simplifier le processus d'installation et de configuration pour le serveur Web et la configuration de l'environnement PHP. Il est recommandé d'installer Nginx1.22.1 en tant que serveur Web, PHP8.2 comme interprète de script et MySQL10.7.3-MariaDB comme système de base de données. Assurez-vous d'activer les extensions de PHP nécessaires, telles que FileInfo, Opcache, Memcached, Red

See all articles