Table des matières
Présentation : 
Liste des commandes associées :
strlen Obtenir la longueur de la clé
Maison base de données Redis Analyse des exemples de types de données String dans Redis

Analyse des exemples de types de données String dans Redis

Jun 03, 2023 am 10:47 AM
redis string

Présentation : 

Le type chaîne est le type de stockage de données le plus basique dans Redis. Il est binaire sécurisé dans Redis, ce qui signifie que ce type peut accepter des données dans n'importe quel format, tels que des données d'image JPEG ou des informations de description d'objet Json, etc. . La capacité maximale des valeurs de type chaîne dans Redis est de 512 Mo.

Liste des commandes associées :

SETBIT Définit la valeur de BIT sur le décalage spécifié. La valeur ne peut être que 1 ou 0. Après le réglage, la commande renvoie la valeur d'origine du. Décalage. Certaines valeurs BIT. Si la clé spécifiée n'existe pas, cette commande créera une nouvelle valeur et définira la valeur BIT dans le paramètre au décalage spécifié. Si le décalage est supérieur à la longueur des caractères de la valeur, Redis étirera la valeur et définira la valeur BIT dans le paramètre sur le décalage spécifié, la valeur BIT ajoutée au milieu étant 0. La dernière chose à noter est que la valeur Offset doit être supérieure à 0. GETBITO(1)MGETO(N)MSETO(N)MSETNXO(N)Si une clé de ce lot de clés existe déjà, alors l'opération sera entièrement annulée, c'est-à-dire que toutes les modifications ne prendront pas effet. append key value Ajoutez une valeur à la valeur d'origine Si la clé n'existe pas, créez une nouvelle clé et une nouvelle valeur au lieu d'ajouter substr key start len ​​​​intercept. la clé depuis Démarrer, intercepter la longueur de la clé len
Prototype de commande Complexité temporelle Description de la commande Valeur de retour
AJOUTER O(1) Si le La clé existe déjà et la commande APPEND ajoute les données du paramètre Value à la fin de la valeur existante. Si la clé n'existe pas, la commande APPEND créera une nouvelle clé/valeur. La longueur de la valeur après l'ajout.
DECR O(1)

décrémente atomiquement la valeur de la clé spécifiée de 1. Si la clé n'existe pas, sa valeur initiale est 0 et sa valeur après decr est -1. Si la valeur de Value n'est pas de type entier, comme Hello, l'opération échouera

et renverra le message d'erreur correspondant. Remarque : La plage de valeurs de cette opération est un entier signé de 64 bits.

Valeur après décrémentation.
INCR O(1)

incrémente atomiquement la valeur de la clé spécifiée de 1. Si la Clé n'existe pas, sa valeur initiale est 0 et sa valeur après incr est 1. Si la valeur de Value ne peut pas être convertie en une valeur entière, telle que la chaîne Hello, alors l'opération échouera

et renverra le message d'erreur correspondant. Remarque : La plage de valeurs de cette opération est un entier signé de 64 bits.

La valeur après incrémentation.
DECRBY O(1)

réduira atomiquement la valeur de la clé spécifiée par décrémentation. Après l'exécution de decrby, si la clé n'existe pas, sa valeur initiale est 0, puis sa valeur devient -decrement. Si la valeur de Value ne peut pas être convertie en une valeur entière,

comme Bonjour, l'opération échouera et le message d'erreur correspondant sera renvoyé. Remarque : La plage de valeurs de cette opération est un entier signé de 64 bits.

La Valeur réduite.
INCRBY O(1)

incrémente atomiquement la valeur de la clé spécifiée. Si la clé n'existe pas, sa valeur initiale est 0 et sa valeur après incrby est incrément. Si la valeur de Value ne peut pas être convertie en une valeur entière, telle que Bonjour,

l'opération échouera et le message d'erreur correspondant sera renvoyé. Remarque : La plage de valeurs de cette opération est un entier signé de 64 bits.

La valeur accrue.
GET O(1) Obtenir la valeur de la clé spécifiée. Si la valeur associée à la clé n'est pas de type chaîne, Redis renverra un message d'erreur car la commande GET ne peut être utilisée que pour obtenir une valeur de chaîne. La valeur liée à la clé. Si la clé n'existe pas, nul est renvoyé.
SET O(1) Définissez la clé pour qu'elle contienne la valeur de chaîne spécifiée. Si la clé existe déjà, écrasez sa valeur d'origine. Renvoie toujours "OK".
GETSET O(1) Définit atomiquement la clé sur la valeur spécifiée et renvoie la valeur d'origine de la clé. Comme la commande GET, cette commande ne peut traiter que la valeur de la chaîne, sinon Redis fournira des informations d'erreur pertinentes. Renvoie la valeur d'origine de la clé. Si la clé n'existe pas auparavant, nul est renvoyé.
STRLEN O(1) Renvoie la longueur de la valeur de caractère de la clé spécifiée. Si Value n'est pas de type chaîne, Redis ne parviendra pas à s'exécuter et à fournir les informations d'erreur pertinentes. Renvoie la longueur des caractères de la valeur de la clé spécifiée. Si la clé n'existe pas, renvoie 0.
SETEX O(1) effectue deux opérations de manière atomique. La première consiste à définir la valeur de la clé sur la chaîne spécifiée et en même temps à définir le temps de survie (en secondes) de la clé. le serveur Redis. Cette commande est principalement utilisée lorsque Redis est utilisé comme serveur de cache.
SETNX O(1) Si la clé spécifiée n'existe pas, définissez la clé pour qu'elle contienne la valeur de chaîne spécifiée. À ce stade, son effet est équivalent à la commande SET. Au contraire, si la clé existe déjà, la commande ne fera rien et reviendra. 1 signifie que le réglage est réussi, sinon 0.
SETRANGE O(1)

Remplace une partie de la valeur de chaîne de la clé spécifiée. À partir de offset, la longueur de remplacement est la longueur de chaîne de la troisième valeur du paramètre de la commande. Si la valeur de offset est supérieure à la longueur de chaîne de la valeur d'origine de la clé,

Redis remplira la fin de Value (. offset - strlen(value)) montant de 0x00 avant d'ajouter la nouvelle valeur. Si la clé n'existe pas, cette commande supposera que sa longueur de valeur d'origine est 0 et ajoutera les caractères de décalage

0x00 avant d'ajouter la nouvelle valeur. Étant donné que la longueur maximale de la chaîne Value est de 512 M, la valeur maximale du décalage est de 536870911. La dernière chose à noter est que si cette commande aboutit à la valeur d'origine de la clé spécifiée lors de son exécution, lorsque la longueur augmente, Redis réallouera suffisamment de mémoire pour accueillir toutes les chaînes remplacées, les performances seront donc affectées dans une certaine mesure.

La longueur de la valeur de chaîne modifiée.
GETRANGE O(1)

Si la longueur de la chaîne interceptée est très courte, on peut considérer la complexité temporelle de cette commande comme O(1), sinon c'est O(N), où N signifie la longueur de la sous-chaîne interceptée. Lorsque cette commande intercepte une sous-chaîne, elle inclura à la fois les caractères de début (0 représente le premier caractère) et de fin dans un intervalle fermé. Si la valeur de fin dépasse la longueur de caractère de Value, cette commande n'interceptera que les caractères de toutes les données de caractères après. commencer.

Substring
O(1)

La valeur originale de BIT au décalage spécifié.

Renvoie la valeur de BIT au décalage spécifié, 0 ou 1. Cette commande renverra 0 si Offset dépasse la longueur de la valeur de chaîne, elle renvoie donc toujours 0 pour une chaîne vide. La valeur BIT au décalage spécifié.
N représente le nombre de clés obtenues. Renvoie les valeurs de toutes les clés spécifiées. Si l'une des clés n'existe pas ou si sa valeur n'est pas de type chaîne, la valeur de la clé renverra zéro. Renvoie une liste de valeurs pour un ensemble de clés spécifiées.
N représente le nombre de clés spécifiées. Cette commande termine atomiquement toutes les opérations de définition de clé/valeur dans les paramètres. Son comportement spécifique peut être considéré comme l'exécution de la commande SET de manière itérative plusieurs fois. Cette commande n'échouera pas et renvoie toujours OK.
N représente le nombre de clés spécifiées. Cette commande complète atomiquement toutes les opérations de définition de clé/valeur dans les paramètres. Son comportement spécifique peut être vu comme plusieurs exécutions itératives de la commande SETNX. Cependant, ce qui doit être clairement indiqué ici, c'est que

String (string)

strlen Obtenir la longueur de la clé

incr key Augmenter de 1

decr key Diminuer de 1

incrby key num Augmenter la clé, augmenter num

decrby key num Diminuer la touche , diminuer num

getrange key start end intercepte la touche de caractère [start, end] et l'en-tête inclut également la queue

setrange key offset value remplace les données à la position de décalage par la valeur (offset est l'index de la clé)

setex key seconds value définit le délai d'expiration de la clé

Si la clé n'existe pas, l'exécution de la commande setnx définira la clé et la valeur, mais si la clé existe déjà, la commande setnx échouera et la valeur ne pourra pas être ajoutée ; encore une fois

mset key1 value key2 value définit plusieurs clés et valeurs en même temps

mget key1 key2 Obtenez la valeur de plusieurs clés à la fois

msetnx key1 value key2 value Définissez plusieurs clés et valeurs à la fois Si l'une des les clés existent, toutes les créations échoueront (atomicité)

getset valeur de clé Si elle n'existe pas, récupérez nil , puis définissez la valeur Si elle fait référence à la valeur précédente obtenue, définissez la valeur suivante (opération de mise à jour)

###############################################
127.0.0.1:6379> set key1 v
OK
127.0.0.1:6379> get key1
"v"
127.0.0.1:6379> keys *
1) "key1"
127.0.0.1:6379> exists key1
(integer) 1
127.0.0.1:6379> append key1 v1
(integer) 3
127.0.0.1:6379> get key1
"vv1"
127.0.0.1:6379> substr key1 0 3
"vv1"
127.0.0.1:6379> strlen key1
(integer) 3
127.0.0.1:6379> append key1 "hello1"
(integer) 9
127.0.0.1:6379> substr key1 1 2
"v1"
127.0.0.1:6379> substr key1 1 1
"v"
127.0.0.1:6379> append key2 "lisi"
(integer) 4
127.0.0.1:6379> get key2
"lisi"
###############################################
127.0.0.1:6379> set views 0
OK
127.0.0.1:6379> get views
"0"
127.0.0.1:6379> incr views
(integer) 1
127.0.0.1:6379> incr views
(integer) 2
127.0.0.1:6379> get views
"2"
127.0.0.1:6379> decr views
(integer) 1
127.0.0.1:6379> decr views
(integer) 0
127.0.0.1:6379> incrby views 10
(integer) 10
127.0.0.1:6379> decrby views 5
(integer) 5
####################################
127.0.0.1:6379> set key1 "hello,world"
OK
127.0.0.1:6379> GETRANGE key1 0 3
"hell"
127.0.0.1:6379> GETRANGE key1 0 -1
"hello,world"
127.0.0.1:6379> SETRANGE key2 3 2
(integer) 7
127.0.0.1:6379> get key2
"abc2efg"
########################################
127.0.0.1:6379> setex key3 30 hello
OK
127.0.0.1:6379> get key3
"hello"
127.0.0.1:6379> ttl key3
(integer) 24
127.0.0.1:6379> SETNX mykey redis
(integer) 1
127.0.0.1:6379> keys *
1) "mykey"
2) "key2"
3) "key1"
127.0.0.1:6379> SETNX mykey "MongoDB"
(integer) 0
127.0.0.1:6379> get mykey
"redis"
####################################
127.0.0.1:6379> mset k1 v1 k2 v2
OK
127.0.0.1:6379> mget k1 k2
1) "v1"
2) "v2"
127.0.0.1:6379> MSETNX k1 v1 k3 v3
(integer) 0
# 对象
# 这里的key是一个巧妙的设计 user:{id}:{filed} 
127.0.0.1:6379> msetnx user:1:name "zhangsan" user:1:age 2
(integer) 1
127.0.0.1:6379> mget user:1:name user:1:age
1) "zhangsan"
2) "2"
127.0.0.1:6379> set article:101:views 0
OK
127.0.0.1:6379> incr article:101:views
(integer) 1
127.0.0.1:6379> get article:101:views
"1"
###########################################################
127.0.0.1:6379> getset db redis
(nil)
127.0.0.1:6379> get db
"redis"
127.0.0.1:6379> getset db 10
"redis"
Copier après la connexion
.

String Scénario similaire : la valeur peut être notre nombre en plus de notre chaîne !

Compteur

    Compter le nombre d'unités multiples uid:1923:suivre 0
  • Nombre de fans
  • Stockage du cache d'objets

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.

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 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 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 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 utiliser Redis Lock Comment utiliser Redis Lock Apr 10, 2025 pm 08:39 PM

L'utilisation des opérations Redis pour verrouiller nécessite l'obtention du verrouillage via la commande setnx, puis en utilisant la commande Expire pour définir le temps d'expiration. Les étapes spécifiques sont les suivantes: (1) Utilisez la commande setnx pour essayer de définir une paire de valeurs de clé; (2) Utilisez la commande Expire pour définir le temps d'expiration du verrou; (3) Utilisez la commande del pour supprimer le verrouillage lorsque le verrouillage n'est plus nécessaire.

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 faire du message middleware pour redis Comment faire du message middleware pour redis Apr 10, 2025 pm 07:51 PM

Redis, en tant que Message Middleware, prend en charge les modèles de consommation de production, peut persister des messages et assurer une livraison fiable. L'utilisation de Redis comme Message Middleware permet une faible latence, une messagerie fiable et évolutive.

Comment démarrer le serveur avec redis Comment démarrer le serveur avec redis Apr 10, 2025 pm 08:12 PM

Les étapes pour démarrer un serveur Redis incluent: Installez Redis en fonction du système d'exploitation. Démarrez le service Redis via Redis-Server (Linux / MacOS) ou Redis-Server.exe (Windows). Utilisez la commande redis-Cli Ping (Linux / MacOS) ou redis-Cli.exe Ping (Windows) pour vérifier l'état du service. Utilisez un client redis, tel que redis-cli, python ou node.js pour accéder au serveur.

See all articles