recherche
Maisonbase de donnéesRedisAnalyse des exemples de types de données String dans Redis

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"
.

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
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer
Redis: identifier sa fonction principaleRedis: identifier sa fonction principaleApr 12, 2025 am 12:01 AM

La fonction centrale de Redis est un système de stockage et de traitement de données en mémoire haute performance. 1) Accès aux données à grande vitesse: Redis stocke les données en mémoire et fournit une vitesse de lecture et d'écriture au niveau microseconde. 2) Rich Structure de données: prend en charge les chaînes, les listes, les collections, etc., et s'adapte à une variété de scénarios d'application. 3) Persistance: Persister les données sur le disque via RDB et AOF. 4) Publier l'abonnement: peut être utilisé dans les files d'attente de messages ou les systèmes de communication en temps réel.

Redis: un guide des structures de données populairesRedis: un guide des structures de données populairesApr 11, 2025 am 12:04 AM

Redis prend en charge une variété de structures de données, notamment: 1. String, adapté au stockage des données à valeur unique; 2. Liste, adaptée aux files d'attente et aux piles; 3. SET, utilisé pour stocker des données non dégonflées; 4. Ensemble ordonné, adapté aux listes de classement et aux files d'attente de priorité; 5. Table du hachage, adapté au stockage des données d'objet ou structurées.

Comment implémenter Redis CounterComment implémenter Redis CounterApr 10, 2025 pm 10:21 PM

Redis Counter est un mécanisme qui utilise le stockage de la paire de valeurs de clés Redis pour implémenter les opérations de comptage, y compris les étapes suivantes: création de clés de comptoir, augmentation du nombre, diminution du nombre, réinitialisation du nombre et objet de comptes. Les avantages des compteurs Redis comprennent une vitesse rapide, une concurrence élevée, une durabilité et une simplicité et une facilité d'utilisation. Il peut être utilisé dans des scénarios tels que le comptage d'accès aux utilisateurs, le suivi des métriques en temps réel, les scores de jeu et les classements et le comptage de traitement des commandes.

Comment utiliser la ligne de commande redisComment utiliser la ligne de commande redisApr 10, 2025 pm 10:18 PM

Utilisez l'outil de ligne de commande redis (Redis-CLI) pour gérer et utiliser Redis via les étapes suivantes: Connectez-vous au serveur, spécifiez l'adresse et le port. Envoyez des commandes au serveur à l'aide du nom et des paramètres de commande. Utilisez la commande d'aide pour afficher les informations d'aide pour une commande spécifique. Utilisez la commande QUIT pour quitter l'outil de ligne de commande.

Comment construire le mode Cluster RedisComment construire le mode Cluster RedisApr 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 lire la file d'attente redisComment lire la file d'attente redisApr 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 cluster zsetComment utiliser redis cluster zsetApr 10, 2025 pm 10:09 PM

Utilisation de Zset dans le cluster Redis: ZSET est une collection ordonnée qui associe les éléments aux scores. Stratégie de rupture: a. Cusage de hachage: distribuez la valeur de hachage en fonction de la touche Zset. né Plage de percussion: diviser en plages en fonction des scores des éléments et attribuer chaque plage à différents nœuds. Opérations de lecture et d'écriture: a. Opérations de lecture: Si la clé ZSET appartient à l'éclat du nœud actuel, il sera traité localement; Sinon, il sera acheminé vers l'éclat correspondant. né Opération d'écriture: toujours acheminé vers des éclats de maintien de la touche Zset.

Comment effacer les données redisComment effacer les données redisApr 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.

See all articles

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 semainesBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌

Outils chauds

DVWA

DVWA

Damn Vulnerable Web App (DVWA) est une application Web PHP/MySQL très vulnérable. Ses principaux objectifs sont d'aider les professionnels de la sécurité à tester leurs compétences et leurs outils dans un environnement juridique, d'aider les développeurs Web à mieux comprendre le processus de sécurisation des applications Web et d'aider les enseignants/étudiants à enseigner/apprendre dans un environnement de classe. Application Web sécurité. L'objectif de DVWA est de mettre en pratique certaines des vulnérabilités Web les plus courantes via une interface simple et directe, avec différents degrés de difficulté. Veuillez noter que ce logiciel

MinGW - GNU minimaliste pour Windows

MinGW - GNU minimaliste pour Windows

Ce projet est en cours de migration vers osdn.net/projects/mingw, vous pouvez continuer à nous suivre là-bas. MinGW : un port Windows natif de GNU Compiler Collection (GCC), des bibliothèques d'importation et des fichiers d'en-tête librement distribuables pour la création d'applications Windows natives ; inclut des extensions du runtime MSVC pour prendre en charge la fonctionnalité C99. Tous les logiciels MinGW peuvent fonctionner sur les plates-formes Windows 64 bits.

Navigateur d'examen sécurisé

Navigateur d'examen sécurisé

Safe Exam Browser est un environnement de navigation sécurisé permettant de passer des examens en ligne en toute sécurité. Ce logiciel transforme n'importe quel ordinateur en poste de travail sécurisé. Il contrôle l'accès à n'importe quel utilitaire et empêche les étudiants d'utiliser des ressources non autorisées.

Télécharger la version Mac de l'éditeur Atom

Télécharger la version Mac de l'éditeur Atom

L'éditeur open source le plus populaire

mPDF

mPDF

mPDF est une bibliothèque PHP qui peut générer des fichiers PDF à partir de HTML encodé en UTF-8. L'auteur original, Ian Back, a écrit mPDF pour générer des fichiers PDF « à la volée » depuis son site Web et gérer différentes langues. Il est plus lent et produit des fichiers plus volumineux lors de l'utilisation de polices Unicode que les scripts originaux comme HTML2FPDF, mais prend en charge les styles CSS, etc. et présente de nombreuses améliorations. Prend en charge presque toutes les langues, y compris RTL (arabe et hébreu) ​​et CJK (chinois, japonais et coréen). Prend en charge les éléments imbriqués au niveau du bloc (tels que P, DIV),