Le numéro de port par défaut de Redis est 6379
Il existe 16 bases de données par défaut, similaires à l'indice du tableau commençant à 0, et la valeur par défaut initiale est d'utiliser la bibliothèque n° 0.
Utilisez la commande select <dbid></dbid>
pour changer de base de données. Par exemple : sélectionnez 8. select <dbid></dbid>
来切换数据库。 如: select 8。
统一密码管理,所有库同样密码。
dbsize
查看当前数据库的key的数量。flushdb
清空当前库。flushall
通杀全部库。
Redis是单线程+多路IO复用技术。
多路复用是指使用一个线程来检查多个文件描述符( Socket )的就绪状态,比如调用select和poll函数,传入多个文件描述符,如果有一个文件描述符就绪,则返回,否则阻塞直到超时。得到就绪状态后进行真正的操作可以在同一个线程里执行,也可以启动线程执行(比如使用线程池)。
串行 VS 多线程+锁 ( memcached) VS 单线程+ 多路IO复用(Redis)
Redis与Memcache三点不同:
支持多数据类型
支持持久化
单线程+多路IO复用
keys *
:查看当前库所有key (匹配 : keys *1)
exists key
:判断某个key是否存在。type key
:查看你的key是什么类型。del key
:删除指定的key数据,
unlink key
:根据value选择非阻塞删除。仅将keys从keyspace元数据中删除,真正的删除会在后续异步操作。。expire key 10
:10 秒钟,为给定的key设置过期时间,ttl key
:查看还有多少秒过期, -1表示永不过期, -2表示已过期。
select
命令切换数据库,dbsize
查看当前数据库的key的数量。flushdb
清空当前库。flushall
通杀全部库
String是Redis 最基本的类型,一个key对应一个value。
String类型是二进制安全的。 意味着Redis的string可以包含任何数据。比如jpg图片
或者序列化的对象。
String类型是Redis最基本的数据类型, 一个Redis中字符串value最多可以是512M。
set、get等
set <key> <value></value></key>
:添加键值对。
当设置过值的key再被设置一个新的值时,新的值会覆盖旧的。
*NX:当数据库中key不存在时,可以将key-value添加数据库。
*XX:当数据库中key存在时,可以将key-value添加数据库,与NX参数互斥。
*EX: key的超时秒数。
*PX: key 的超时毫秒数,与EX互斥。
get <key></key>
查询对应键值.append <key> <value></value></key>
将给定的追加到原值的末尾,strlen <key></key>
获得值的长度。setnx <key> <value></value></key>
只有在key不存在时设置 key的值.
增减建的值
incr
将key中储存的数字值增1。
只能对数字值操作,如果为空,新增值为10
decr
将key中储存的数字值减1。
只能对数字值操作。如果为空,新增值为-1。
inrjy/ decrby <key></key>
Gestion unifiée des mots de passe, toutes les bibliothèques ont le même mot de passe.
dbsize
Vérifiez le nombre de clés dans la base de données actuelle. flushdb
Effacer la bibliothèque actuelle. flushall
tue toutes les bibliothèques.
Redis est une technologie de multiplexage IO monothread + multicanal.
Le multiplexage fait référence à l'utilisation d'un thread pour vérifier l'état de préparation de plusieurs descripteurs de fichiers (Socket), comme l'appel des fonctions de sélection et d'interrogation, la transmission de plusieurs descripteurs de fichiers, et si un descripteur de fichier est prêt, retournez, sinon bloquez jusqu'à l'expiration du délai. Après avoir obtenu l'état prêt, l'opération réelle peut être effectuée dans le même thread, ou l'exécution du thread peut être démarrée (par exemple en utilisant un pool de threads).Série VS Threads multiples + verrous (memcached) VS Multiplexage d'E/S mono-thread + multicanal (Redis)
Redis et Memcache 3 Le différence :
Prend en charge plusieurs types de données
Prend en charge la persistance
keys *
: Afficher toutes les clés de la bibliothèque actuelle (correspondant : clés *1)
type key
: Vérifiez le type de votre clé. 🎜del key
: supprimez les données de clé spécifiées, 🎜🎜unlink key
: sélectionnez la suppression non bloquante en fonction de la valeur. Seules les clés sont supprimées des métadonnées de l'espace de clés, et la suppression réelle sera effectuée de manière asynchrone ultérieurement. . 🎜expire key 10
: 10 secondes, définissez le délai d'expiration pour une clé donnée, 🎜ttl key
: vérifiez combien de secondes il reste pour expirer, -1 signifie ne jamais expirer, -2 signifie expiré. 🎜🎜Base de données de commutateurs de commande select
, 🎜dbsize
vérifie le nombre de clés dans la base de données actuelle. 🎜flushdb
Effacer la bibliothèque actuelle. 🎜flushall
Tuez toutes les bibliothèques 🎜set <key> <value></value></key>
: ajoutez des paires clé-valeur. 🎜Lorsqu'une clé avec une valeur définie est définie sur une nouvelle valeur, la nouvelle valeur écrasera l'ancienne. 🎜🎜🎜🎜 🎜 *NX : Lorsque la clé n'existe pas dans la base de données, la valeur-clé peut être ajoutée à la base de données. 🎜*XX : lorsque la clé existe dans la base de données, une valeur-clé peut être ajoutée à la base de données, ce qui s'exclut mutuellement avec les paramètres NX. 🎜*EX : secondes d'expiration des touches. 🎜*PX : délai d'expiration de la clé en millisecondes, mutuellement exclusif avec EX. 🎜🎜🎜get <key></key>
Interrogez la valeur de clé correspondante 🎜append <key> <value></value></key>
Ajoutez la valeur donnée strlen setnx <key> <value></value></key>
Définissez la valeur de la clé uniquement lorsque la clé n'existe pas 🎜🎜Augmentez ou diminuez la valeur construite🎜🎜🎜incr inrjy/ decrby <key></key>
msetnx
C'est atomique
Définir une ou plusieurs paires clé-valeur simultanément, si et seulement si toutes les clés données n'existent pas. .
Si l'un d'entre eux existe auparavant, il ne réussira pas
getrange, setrange
getrange
Obtenir la plage de valeurs , similaire à la sous-chaîne en Java, package avant, package arrière
setrange
écrase la valeur de chaîne stockée, à partir de Définissez le délai d'expiration setex Lors de la définition de la valeur de la clé, définissez le délai d'expiration en secondes. Remplacez l'ancienne valeur getset <key> <value></value></key> Remplacez l'ancienne par la nouvelle, définissez la nouvelle valeur et obtenez l'ancienne valeur en même temps. SDS est l'abréviation de String data structure, qui représente la structure de données d'une simple chaîne dynamique. Il s'agit d'une chaîne qui peut être modifiée. La structure interne est similaire à ArrayList de Java. Elle utilise un espace redondant pré-alloué pour réduire les allocations fréquentes de mémoire. La capacité d'espace interne est généralement plus grande que la longueur réelle de la corde, comme le montre la figure. Si la longueur de la chaîne est inférieure à 1 M, l'espace existant sera doublé lors de l'expansion. Mais si la longueur dépasse 1 M, seul 1 M d’espace sera ajouté à chaque extension. Il est à noter que la longueur maximale de la chaîne est de 512M. String data structure
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!