Table des matières
redis définit la période de validité de la clé
Key command
Plus précisément, ce que Redis fait 10 fois par seconde :
Maison base de données Redis Comment définir la période de validité de la clé dans Redis

Comment définir la période de validité de la clé dans Redis

May 28, 2023 pm 07:29 PM
redis key

redis définit la période de validité de la clé

Key command

Définissez le délai d'expiration de la clé.

Requête de toutes les clés actuelles

Comment définir la période de validité de la clé dans Redis

  • expire key second : Définir l'expiration de la key Time

Comment définir la période de validité de la clé dans Redis

Si la touche ttl est exécutée et que l'affichage est -2, cela signifie que la valeur modifiée ne n'existe pas dans le cache

# 🎜🎜#

Comment définir la période de validité de la clé dans Redis

S'il est affiché comme -1, il est persistant (n'expirera pas)

#🎜🎜 #

Comment définir la période de validité de la clé dans RedisSi Si vous définissez le délai d'expiration, le délai d'expiration restant sera affiché

Version de départ : 1.0.0

Complexité temporelle : O(1)Comment définir la période de validité de la clé dans Redis

Valeur de retour : 1 si le délai d'expiration est défini avec succès ; 0 Si la clé n'existe pas ou si le délai d'expiration ne peut pas être défini.

Définissez le temps de survie pour une clé donnée Lorsque la clé expire (le temps de survie est de 0), elle sera automatiquement supprimée.

1. Le délai d'expiration suit la clé et n'a rien à voir avec la valeur

Dans Redis, les clés avec délai d'expiration sont appelées "clés volatiles". Le délai d'expiration peut être supprimé en supprimant la clé entière à l'aide de la commande DEL, ou écrasé par les commandes SET et GETSET. Cela signifie que si une commande modifie uniquement la valeur d'une clé avec un délai d'expiration au lieu de l'utiliser, vous la remplacez par. une nouvelle valeur de clé, le délai d'expiration ne sera pas modifié. Par exemple, exécuter la commande INCR sur une clé, exécuter la commande LPUSH sur une liste ou exécuter la commande HSET sur une table de hachage ne modifiera pas le délai d'expiration de la clé elle-même.

2. Définissez la période de validité permanente

Utilisez la commande PERSIST pour effacer le délai d'attente et en faire une clé permanente.

3. L'impact de la commande rename sur la période de validité

Si la clé est modifiée par la commande RENAME, le timeout associé sera transféré sur la nouvelle clé.

Si la clé est modifiée par la commande RENAME, par exemple, Key_A existe à l'origine, puis la commande RENAME Key_B Key_A est appelée à ce moment, que la Key_A d'origine soit permanente ou définie sur. timeout, il sera écrasé par le statut de la période de validité de Key_B.

4. Actualiser l'heure d'expiration

Exécuter l'opération EXPIRE sur une clé qui a déjà une heure d'expiration mettra à jour son heure d'expiration.

5. Précision de l'expiration

Dans Redis 2.4 et les versions précédentes, le délai d'expiration peut ne pas être très précis, avec une erreur de 0 à 1 seconde.

À partir de Redis 2.6, l'erreur de délai d'expiration est réduite à 0-1 milliseconde.

6. Impact des facteurs externes sur le délai d'expiration

Depuis la version 2.6 de Redis, le délai d'expiration des clés est stocké en millisecondes à l'aide des horodatages Unix. Cela signifie que le temps continue de passer même si l'instance Redis n'est pas disponible.

Pour bien gérer les travaux expirés, l'ordinateur doit utiliser une heure stable. Quelque chose d'intéressant se produit lorsque vous synchronisez un fichier RDB entre deux ordinateurs dont les heures ne sont pas synchronisées : toutes les clés expirent au chargement.

Même une instance en cours d'exécution vérifiera l'horloge de l'ordinateur. Par exemple, si vous définissez la période de validité d'une clé sur 1 000 secondes, puis définissez l'heure de votre ordinateur sur 2 000 secondes dans le futur, la clé le fera. expirer immédiatement, au lieu d’attendre après 1 000 secondes.

7. Comment Redis élimine les clés expirées

Il existe deux manières pour les clés Redis d'expirer : passive et active.

Lorsque certains clients tentent d'y accéder, la clé sera découverte et activement expirée.

Bien sûr, cela ne suffit pas, car certaines clés expirées ne seront jamais accessibles. Afin de garantir que les clés expirent dans un délai prédéterminé, des tests aléatoires doivent être effectués régulièrement et le délai d'expiration doit être défini. Toutes ces clés expirées seront supprimées.

Plus précisément, ce que Redis fait 10 fois par seconde :

1). Testez 20 clés aléatoires pour la détection d'expiration associée.

2). Supprimez toutes les clés expirées.

3). Si plus de 25 % des clés expirent, répétez l'étape 1.

Il s'agit d'un algorithme de probabilité trivial. L'hypothèse de base est que notre échantillon est cette clé. contrôle, et nous répétons la détection d'expiration jusqu'à ce que le pourcentage de clés expirées tombe en dessous de 25 %, ce qui signifie qu'à tout moment, au plus 1/4 des clés expirées seront effacées.

8. Comment gérer l'expiration lors de la copie de fichiers AOF

Afin d'obtenir le comportement correct sans sacrifier la cohérence, lorsqu'une clé expire, DEL sera accompagné du texte AOF Synthétisé sur tous les esclaves attachés. Cette approche est centralisée au sein de l'instance maître et élimine la possibilité d'erreurs de cohérence.

Cependant, lorsque les esclaves sont connectés au maître, les clés n'expireront pas indépendamment (attendront que le maître exécute la commande DEL), elles existeront toujours dans l'ensemble de données, donc lorsque l'esclave est élu comme maître, les clés seront éliminées. Il sera exécuté indépendamment puis deviendra maître.

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)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
1 Il y a quelques mois 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)

Comment construire le mode Cluster Redis Comment construire le mode Cluster Redis Apr 10, 2025 pm 10:15 PM

Le mode Redis Cluster déploie les instances Redis sur plusieurs serveurs grâce à la rupture, à l'amélioration de l'évolutivité et de la disponibilité. Les étapes de construction sont les suivantes: Créez des instances de redis étranges avec différents ports; Créer 3 instances Sentinel, Moniteur Redis Instances et basculement; Configurer les fichiers de configuration Sentinel, ajouter des informations d'instance Redis de surveillance et des paramètres de basculement; Configurer les fichiers de configuration d'instance Redis, activer le mode de cluster et spécifier le chemin du fichier d'informations de cluster; Créer un fichier nœuds.conf, contenant des informations de chaque instance redis; Démarrez le cluster, exécutez la commande CREATE pour créer un cluster et spécifiez le nombre de répliques; Connectez-vous au cluster pour exécuter la commande d'informations de cluster pour vérifier l'état du cluster; faire

Comment utiliser la commande redis Comment utiliser la commande redis Apr 10, 2025 pm 08:45 PM

L'utilisation de la directive Redis nécessite les étapes suivantes: Ouvrez le client Redis. Entrez la commande (Verbe Key Value). Fournit les paramètres requis (varie de l'instruction à l'instruction). Appuyez sur Entrée pour exécuter la commande. Redis renvoie une réponse indiquant le résultat de l'opération (généralement OK ou -err).

Comment effacer les données redis Comment effacer les données redis Apr 10, 2025 pm 10:06 PM

Comment effacer les données Redis: utilisez la commande flushall pour effacer toutes les valeurs de clé. Utilisez la commande flushdb pour effacer la valeur clé de la base de données actuellement sélectionnée. Utilisez SELECT pour commuter les bases de données, puis utilisez FlushDB pour effacer plusieurs bases de données. Utilisez la commande del pour supprimer une clé spécifique. Utilisez l'outil Redis-CLI pour effacer les données.

Comment utiliser un seul fileté redis Comment utiliser un seul fileté redis Apr 10, 2025 pm 07:12 PM

Redis utilise une architecture filetée unique pour fournir des performances élevées, une simplicité et une cohérence. Il utilise le multiplexage d'E / S, les boucles d'événements, les E / S non bloquantes et la mémoire partagée pour améliorer la concurrence, mais avec des limites de limitations de concurrence, un point d'échec unique et inadapté aux charges de travail à forte intensité d'écriture.

Comment lire le code source de Redis Comment lire le code source de Redis Apr 10, 2025 pm 08:27 PM

La meilleure façon de comprendre le code source redis est d'aller étape par étape: familiarisez-vous avec les bases de Redis. Sélectionnez un module ou une fonction spécifique comme point de départ. Commencez par le point d'entrée du module ou de la fonction et affichez le code ligne par ligne. Affichez le code via la chaîne d'appel de fonction. Familiez les structures de données sous-jacentes utilisées par Redis. Identifiez l'algorithme utilisé par Redis.

Comment implémenter le redis sous-jacent Comment implémenter le redis sous-jacent Apr 10, 2025 pm 07:21 PM

Redis utilise des tables de hachage pour stocker les données et prend en charge les structures de données telles que les chaînes, les listes, les tables de hachage, les collections et les collections ordonnées. Redis persiste les données via des instantanés (RDB) et ajoutez les mécanismes d'écriture uniquement (AOF). Redis utilise la réplication maître-esclave pour améliorer la disponibilité des données. Redis utilise une boucle d'événement unique pour gérer les connexions et les commandes pour assurer l'atomicité et la cohérence des données. Redis définit le temps d'expiration de la clé et utilise le mécanisme de suppression paresseux pour supprimer la clé d'expiration.

Comment lire la file d'attente redis Comment lire la file d'attente redis Apr 10, 2025 pm 10:12 PM

Pour lire une file d'attente à partir de Redis, vous devez obtenir le nom de la file d'attente, lire les éléments à l'aide de la commande LPOP et traiter la file d'attente vide. Les étapes spécifiques sont les suivantes: Obtenez le nom de la file d'attente: Nommez-le avec le préfixe de "Fitre:" tel que "Fitre: My-Quyue". Utilisez la commande LPOP: éjectez l'élément de la tête de la file d'attente et renvoyez sa valeur, telle que la file d'attente LPOP: My-Queue. Traitement des files d'attente vides: si la file d'attente est vide, LPOP renvoie NIL et vous pouvez vérifier si la file d'attente existe avant de lire l'élément.

Comment afficher toutes les clés dans Redis Comment afficher toutes les clés dans Redis Apr 10, 2025 pm 07:15 PM

Pour afficher toutes les touches dans Redis, il existe trois façons: utilisez la commande Keys pour retourner toutes les clés qui correspondent au modèle spécifié; Utilisez la commande SCAN pour itérer les touches et renvoyez un ensemble de clés; Utilisez la commande info pour obtenir le nombre total de clés.

See all articles