Heim >Datenbank >Redis >Grundlegende Datentypen und Operationen von Redis (Zusammenfassungsfreigabe)

Grundlegende Datentypen und Operationen von Redis (Zusammenfassungsfreigabe)

WBOY
WBOYnach vorne
2022-11-10 16:38:011934Durchsuche

Dieser Artikel vermittelt Ihnen relevantes Wissen über Redis, das hauptsächlich relevante Inhalte zu grundlegenden Datentypen und -operationen vorstellt. Ich hoffe, dass es für alle hilfreich ist.

Grundlegende Datentypen und Operationen von Redis (Zusammenfassungsfreigabe)

Empfohlenes Lernen: Redis-Video-Tutorial

Einführung in Redis

redis ist ein Open-Source-In-Memory-Datenstrukturspeicher, der hauptsächlich vom Entwickler Salvatore Sanfilippo (Antirez) entwickelt wurde, um die Skalierbarkeit seiner Website zu verbessern Redis wird als Datenbank, Cache, Nachrichtenbroker usw. verwendet und kann in Kombination mit Projekten verwendet werden.

Redis verfügt über umfangreiche Datenstrukturen, hervorragende Geschwindigkeit und vollständige Funktionen. Es weist die folgenden Eigenschaften auf:

    Keine SQL-Datenbank
  • Unterstützt viele Umgebungen
  • Redis ist eine Speicherdatenbank, die bedeutet, dass alle Daten im Speicher statt auf der Festplatte gespeichert werden (selbstverständlich werden auch Vollsicherung und inkrementelle Sicherung der Festplatte unterstützt). Das Merkmal des Speichers besteht darin, dass er schnellen Zugriff und schnelle Suche unterstützen kann, aber auch Platzbeschränkungen unterliegt.
In der Datenbankarchitektur befindet sich Redis normalerweise zwischen dem Client und der Datenbank, um die Belastung von NoSQL-Datenbanken oder -Anwendungen zu verringern und die Latenz beim Datenzugriff beim Caching zu verringern.

Hauptanwendungen von Redis

Warteschlange

    Veröffentlichen/Abonnieren
  • Echtzeitanalysen
  • Maschinelles Lernen: Schnelle Verarbeitung großer, vielfältiger und schneller Daten für maschinelles Lernen
  • Geodatenverarbeitung
  • Bestenlisten/Zählungen (Das heißt, die aktuellen Suchanfragen, die Sie jeden Tag sehen)
  • Sitzungs-Caching
  • Ganzseiten-Caching
  • Unternehmen, die Redis verwenden

Redis-Verwendung und -StartWho uses Redis?

Hier finden Sie viele Installationsanleitungen im Internet ist die Mac-Version. Nach der Installation des Redis-Servers können Sie beispielsweise den Redis-Server über den folgenden Befehl starten:

redis-server

und den Redis-cli-Client über den folgenden Befehl starten:

redis-cli -h 127.0.0.1 -p 6379
Wie im Bild gezeigt:

Jetzt können wir den PING-Befehl von Redis übergeben, der eine optionale Nachricht als Parameter akzeptiert. Dieser Befehl wird normalerweise verwendet, um zu testen, ob die Verbindung zwischen dem Client und dem Server normal ist Der Server gibt PONG als Antwort an den Client zurück:

127.0.0.1:6379> PINGPONG

Der eigentliche Test lautet wie folgt:

Redis Die vorläufigen Einführungsarbeiten sind abgeschlossen. Werfen wir einen Blick auf die grundlegenden allgemeinen Operationen der Datenstrukturmaschine von Redis.

Grundlegende Datentypen von Redis

String

    Hash
  • List
  • Set
  • Ordered set
  • HyperLogLog
  • Bitmap
  • In diesem Artikel werden die ersten fünf gängigen Datenstrukturen vorgestellt und aktualisiert später Viele Typen werden in anderen Artikeln separat vorgestellt und erläutert. Die fünf gängigen Grunddatentypen sind wie folgt.
String

String (String) ist der grundlegendste Schlüssel-Wert-Paar-Typ von Redis. Dieser Typ kann sowohl normalen Text als auch serialisierte Binärdaten verwalten.

Der Zeichenfolgentyp verknüpft einen einzelnen Schlüssel mit einem einzelnen Wert in der Datenbank. Der zugehörige Schlüssel und Wert kann gewöhnliche Textdaten oder Bilder, Videos, Audios, komprimierte Dateien usw. sein. Komplexe Binärdaten. Der String-Typ kann bis zu 512 MB Daten speichern.

Einige häufige Operationen an Zeichenfolgen

SET-Befehl: Legen Sie den entsprechenden Wert für eine Zeichenfolge fest, z. B. SET-Nummer „10086“

    GET-Befehl: Rufen Sie den dem Schlüssel entsprechenden Wert ab
  • SET number "10086"
  • GET 命令:获取键对应的值
127.0.0.1:6379> SET number "10086"OK127.0.0.1:6379> GET number"10086"127.0.0.1:6379>
  • GETRANGE:获取截取字符串内容
  • STRLEN:获取字符串长度,如 STRLEN email
  • SETEX:设置带有过期时间(秒)的 KEY-VALUE,如 SETEX city 5 Beijing
    127.0.0.1:6379> INCR number(integer) 10087127.0.0.1:6379>
GETRANGE: Den abgefangenen String-Inhalt abrufen

STRLEN: Die String-Länge abrufen, z. B. STRLEN email

🎜SETEX: KEY-VALUE mit Ablaufzeit (Sekunden) festlegen, z. B. SETEX Stadt 5 Peking🎜🎜🎜🎜 Flash-Sale-Event PSETEX-Einstellung Millisekunden🎜
  • MSET:设置多个 KEY-VALUE ,如 MSET username jack sex male age 24
  • MGET:获取多个 VALUE,如 MGET username sex age
  • APPEND: 用于在字符串结尾追加内容
  • INCR:数字自增加1 ,如 INCR number
127.0.0.1:6379> INCR number(integer) 10087127.0.0.1:6379>
  • INCRBY:数字加上指定的整数值
  • INCRBYFLOAT:数字加上指定的浮点数
  • DECR:数字自增减一
  • DECBY:数字减去指定的整数值

这些命令,大家都可以自己在。 Redis 客户端进行测试。

哈希类型

用来保存更复杂的结构化数据

  • HSET:设置哈希表字段
  • HMSET:设置哈希表多个字段
  • HGET:获取哈希表字段值,如 HGET 8000 ename
  • HMGET:获取多个哈希表字段值,如 HMGET 80000 ename job deptno
  • HGETALL:获取所有哈希表字段值
  • HKEYS:获取所有哈希表字段名
  • HLEN:哈希表中的字段数量
  • HEXISTS:判断哈希表是否存在某个字段
  • HVALS:获取哈希表中的所有字段值
  • HDEL:删除哈希表的字段
  • HINCRBY:让哈希表某个字段值加上指定的整数值,如 HINCRBY 8000 deptono 10
  • HINCRBYFLOART:让哈希表某个字段值加上指定的浮点数

列表类型

当我们需要向 VALUE 保存序列化的数据,可以使用列表类型

RPUSH dname 技术部 后勤部 售后部
LPUSH dname 秘书处
LSET dname 2 销售部
LRANGE dname 0 -1
  • RPUSH:在列表末尾新增值
  • LPUSH:在列表开头新增值
  • LLEN:获取列表长度
  • LINDEX:获取列表某个元素,如 lindex dname 0
  • LINSERT:在某个位置插入元素,如 linsert dname before 秘书处 董事会
  • LPOP:删除最左边的元素 LPOP dname
  • RPOP:删除列表最右边的元素 RPOP dname
  • LREM:删除列表某个元素,如
RPUSH employee Scott
RPUSH employee Jack
RPUSH employee Scott

LREM employee 1 Scott # 删除第一个Scott,不是指索引为一

集合类型

假如要求数据不允许重复,则可以使用集合类型。

集合操作

SADD empno 8000SADD empno 8001SADD empno 8002SADD empno 8003 8004 8005SMEMBERS empno
  • SADD:将给定值添加到集合
  • SCARD:获取集合长度,如: SCARD empno
  • SISMEMBER:判断是否含有某个元素,如 SISMENBER empno 8000
  • SREM:删除某个元素
  • SPOP:随机删除并返回集合的某个元素,如 SPOP empno
  • SRANDMEMBER:随机返回集合中的元素,如 SRANDMEMBER empno 5
  • SUNION:组合两个或多个集合并返回所有元素的列表
  • SMOVE:将成员从一个集合移动到另一个集合

有序集合

带有排序功能的集合,Redis 按照元素分数值排序

ZADD keyword 0 "han" 0 "jack ma" 0 "Andrew wu"ZINCRBY keyword 1 "han"ZINCRBY keyword 5 "jack ma"ZINCRBY keyword 2 "Andrew wu"ZREVRANGE key 0 -1
  • ZCARD:获取有序集合长度
  • ZCOUNT:查询某个分数值区间内的元素数量,如 ZCOUNT keyword 5 10
  • ZSCORE:查询元素的分数值
  • ZRANGE:获取有序集合的内容(升序),如 ZRANGE keyword 0 -1
  • ZREVRANGE:获取有序集合的内容(降序),如 ZREVRANGE keyword 0 -1
  • ZRANGEBYSCORE:获取分数值区间内的集合内容(升序),如
zrangebyscore keyword 5 10  # 5-10
zrangebyscore keyword 5 (10  # 大于等于5, 小于 10
zrangebyscore keyword 100000 +inf
  • ZREVRANGEBYSCORE:获取分数值区间内的集合内容(降序) zrevrangebyscore keyword 10 5
  • ZRANK:获取元素的升序排名(从0开始)zrank keyword "xx"
  • ZREVRANK:获取元素的降序排名(从0开始)
  • ZREM:删除有序集合中的元素 ZREM keyword "x" "y"
  • ZREMRANGEBYRANK:删除排名区间内的元素 zremrangebyrank keyword 0 2
  • ZREMRANGEBYSCORE:删除分数值区间内的元素 zremrangebyscore keyword 0 -3

zremrangebyscore keyword inf (5000)

推荐学习:Redis视频教程

Das obige ist der detaillierte Inhalt vonGrundlegende Datentypen und Operationen von Redis (Zusammenfassungsfreigabe). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:juejin.im. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen