发布时间:2024-03-01 13:30:01
经过前面介绍,我们知道 Redis 是 Key-Value 类型缓存型数据库,Redis 为了存储不同类型的数据,提供了五种常用数据类型,如下所示:注意:这里指的数据类型是 Value(值) 的数据类型,而非 key。
二进制安全:是一种主要用于字符串操作函数的计算机编程术语。只关心二进制化的字符串,不关心具体的字符串格式,严格的按照二进制的数据存取。这保证字符串不会因为某些操作而遭到损坏。
下面我们使用 SET 命令储存一个字符串,然后使用 GET 命令查看它:127.0.0.1:6379> set website "www.biancheng.net" OK 127.0.0.1:6379> get website "www.biancheng.net"在上述事例,我们使用 Redis 存储了一个键为 website,值为 www.baincheng.net 的 string 类型数据。
127.0.0.1:6379> MSET name www.biancheng.net topic Redis OK 127.0.0.1:6379> MGET name topic 1) "www.biancheng.net" 2) "Redis"
127.0.0.1:6379> HMSET userid:1 username xiaoming password 123456 website www.biancheng.net OK 127.0.0.1:6379> HGETALL userid:1 1) "username" 2) "xiaoming" 3) "password" 4) "123456" 5) "website" 6) "www.biancheng.net"
注意:一个 Hash 中最多包含 2^32-1 个键值对。
#LPUSH 列表添加元素命令 127.0.0.1:6379> LPUSH biancheng Java (integer) 1 127.0.0.1:6379> LPUSH biancheng Python (integer) 2 127.0.0.1:6379> LPUSH biancheng C (integer) 3 127.0.0.1:6379> LPUSH biancheng SQL (integer) 4 127.0.0.1:6379> LPUSH biancheng Redis (integer) 5 127.0.0.1:6379> LPUSH biancheng Golang (integer) 6 #LRANGE 查看列表元素 #最开始插入的在最后,最后插入位于第一个位置,和队列相似。 127.0.0.1:6379> LRANGE biancheng 0 6 1) "Golang" 2) "Redis" 3) "SQL" 4) "C" 5) "Python" 6) "Java"注意:Redis 的列表类型同样遵循索引机制。
127.0.0.1:6379> SADD www.biancheng.net HTML (integer) 1 127.0.0.1:6379> SADD www.biancheng.net Pandas (integer) 1 127.0.0.1:6379> SADD www.biancheng.net NumPy (integer) 1 127.0.0.1:6379> SADD www.biancheng.net Matplotlib (integer) 1 127.0.0.1:6379> SADD www.biancheng.net JS (integer) 1 127.0.0.1:6379> SADD www.biancheng.net HTML (integer) 0 127.0.0.1:6379> SADD www.biancheng.net HTML (integer) 0 #SMEMBERS命令查看集合中元素,元素会无序排列 127.0.0.1:6379> SMEMBERS www.biancheng.net 1) "Matplotlib" 2) "HTML" 3) "JS" 4) "Pandas" 5) "NumPy"由于 Set 集合中的成员具有唯一性,所以重复插入 HTML 元素不会成功,集合的同样可容纳 2^32 -1 个元素。
127.0.0.1:6379> del biancheng (integer) 1 127.0.0.1:6379> zadd biancheng 0 Python (integer) 1 127.0.0.1:6379> zadd biancheng 1 Java (integer) 1 127.0.0.1:6379> zadd biancheng 2 C++ (integer) 1 127.0.0.1:6379> zadd biancheng 3 MySQL (integer) 1 127.0.0.1:6379> zadd biancheng 4 Redis (integer) 1 #重复元素无法添加成功 127.0.0.1:6379> zadd biancheng 4 Redis (integer) 0 #重复分值添加成功 127.0.0.1:6379> zadd biancheng 4 GOLANG (integer) 1 #查看指定成员的分值 127.0.0.1:6379> ZSCORE biancheng Redis "4" 查看zset中的所有成员 127.0.0.1:6379> zrange biancheng 0 4 1) "Python" 2) "Java" 3) "C++" 4) "MySQL" 5) "GOLANG" 6) "Redis"除了上述五种类型之外,Redis 还支持 HyperLogLog 类型,以及 Redis 5.0 提供的 Stream 类型。在后续章节会做相应介绍。