Redis数据类型 1、字符串(String) Redis中的字符串是一个字节序列。Redis中的字符串是二进制安全的,这意味着它们的长度不由任何特殊的终止字符决定。因此,可以在一个字符串中存储高达512兆字节的任何内容。 # 示例: # 验证密码 127.0.0.1:6379> auth 1234 OK # 添加一条数据,key:name,value:"DarkRanger" 127.0.0.1:6379> set name "DarkRanger" OK # 查询key为name的数据 127.0.0.1:6379> get name "DarkRanger" # 更新key为name数据的,value:"wrcold520" 127.0.0.1:6379> set name "wrcold520" OK # 获取更新后的数据,key:name 127.0.0.1:6379> get name "wrcold520" # 更新key为"name"数据的key为"username" 127.0.0.1:6379> rename name username OK # 查询现有的所有key 127.0.0.1:6379> keys * 1) "username" # 查询key为"username"的数据 127.0.0.1:6379> get username "wrcold520" 2、列表(List) Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素导列表的头部(左边)或者尾部(右边),一个列表最多可以包含 232 - 1 个元素 (4294967295, 每个列表超过40亿个元素)。 #常用命令:lrange lpush rpush lset lrem len linsert lpop ltrim ##### 1、LPUSH key value [value ...] # 将一个或多个值 value 插入到列表 key 的表头 # 如果有多个 value 值,那么各个 value 值按从左到右的顺序依次插入到表头 127.0.0.1:6379> lpush books "b01" "b02" (integer) 2 ##### 2、LRANGE key start stop # 返回列表 key 中指定区间内的元素,区间以偏移量 start 和 stop 指定。 # 下标(index)参数 start 和 stop 都以 0 为底,也就是说,以 0 表示列表的第一个元素,以 1表示列表的第二个元素,以此类推。 # 你也可以使用负数下标,以 -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推。 127.0.0.1:6379> lrange books 0 -1 1) "b02" 2) "b01" ##### 3、RPUSH key value [value ...] # 将一个或多个值 value 插入到列表 key 的表尾(最右边)。 # 如果有多个 value 值,那么各个 value 值按从左到右的顺序依次插入到表尾 127.0.0.1:6379> rpush books "b03" (integer) 3 127.0.0.1:6379> lrange books 0 -1 1) "b02" 2) "b01" 3) "b03" 127.0.0.1:6379> lpush books "b04" (integer) 4 127.0.0.1:6379> lrange books 0 -1 1) "b04" 2) "b02" 3) "b01" 4) "b03" ##### 4、LSET key index value # 将列表 key 下标为 index 的元素的值设置为 value 。 # 当 index 参数超出范围,或对一个空列表( key 不存在)进行 LSET 时,返回一个错误。 127.0.0.1:6379> lset books 0 "b0404" OK 127.0.0.1:6379> lrange books 0 -1 1) "b0404" 2) "b02" 3) "b01" 4) "b03" ##### 5、LREM key count value # 根据参数 count 的值,移除列表中与参数 value 相等的元素。 127.0.0.1:6379> lrem books 2 "b01" (integer) 1 127.0.0.1:6379> lrange books 0 -1 1) "b0404" 2) "b02" 3) "b03" 127.0.0.1:6379> rpush books "b15" (integer) 4 127.0.0.1:6379> lrange books 0 -1 1) "b0404" 2) "b02" 3) "b03" 4) "b15" ##### 6、LINSERT key BEFORE|AFTER pivot value # 将值 value 插入到列表 key 当中,位于值 pivot 之前或之后。 127.0.0.1:6379> linsert books before "b15" "b1501" (integer) 5 127.0.0.1:6379> linsert books after "b15" "b1502" (integer) 6 127.0.0.1:6379> lrange books 0 -1 1) "b0404" 2) "b02" 3) "b03" 4) "b1501" 5) "b15" 6) "b1502" ##### 7、LLEN key # 返回列表 key 的长度。 # 如果 key 不存在,则 key 被解释为一个空列表,返回 0 . # 如果 key 不是列表类型,返回一个错误。 127.0.0.1:6379> llen books (integer) 6 127.0.0.1:6379> lrange books 0 -1 1) "b0404" 2) "b02" 3) "b03" 4) "b1501" 5) "b15" 6) "b1502" ##### 8、LPOP key # 移除并返回列表 key 的头元素。 127.0.0.1:6379> lpop books "b0404" 127.0.0.1:6379> lrange books 0 -1 1) "b02" 2) "b03" 3) "b1501" 4) "b15" 5) "b1502" ##### 9、LTRIM key start stop # 对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除。 127.0.0.1:6379> ltrim books 2 -1 OK 127.0.0.1:6379> lrange books 0 -1 1) "b1501" 2) "b15" 3) "b1502" 3、集合(Set) Redis的Set是string类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。 Redis 中 集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。 集合中最大的成员数为 2^32 - 1 (4294967295, 每个集合可存储40多亿个成员)。 2、散列/哈希 Redis散列/哈希(Hashes)是键值对的列表。Redis散列/哈希是字符串字段和字符串值之间的映射。因此,它们用于表示对象。