Redis 入门

Redis 中的数据类型

Redis 中,常用的数据类型有以下几种:

  • String 字符串
  • Hash 散列/哈希
  • List 列表
  • Set 集合
  • Sorted Set 有序集合

所有数据都是 key-value 形式存储,每个数据都有唯一的 key,以上数据类型是 value。

删除一个数据的命令:DEL {key} 。

字符串(string)

字符串没啥好说的,就是 value 为 string。

Redis 命令,要设置或使用字符串类型的数据,则使用SET 或 GET 开头的命令:

# 设置字符串
SET a AAA
SET b 666
# 其中 a 是 key,AAA 是 value,不需要 "" 包围字符串
# ------
# 获取字符串
GET a
# ------
# 获取多个字符串
MGET a b
# 使用空格分隔 key

因为 redis 没有值类型,因此使用不加 "" 也会被识别为字符串。建议加上双引号比较好,提高可读性。

哈希(Hash)

一个 string 类型,是 key-value 结构,而哈希则是 {key-value} 的集合,key 是 string 类型,value 可以是其它类型。

因此,可以称 Hash 为键值对的集合,就是相当于 C# 中的字典类型,主要存储有结构的数据。

Redis 中每个 hash 可以存储 232 - 1 个键值对(40多亿)。

Hash 使用 HMSET 、 HMGET 、HGETALL 等命令来操作哈希表。

有一个这个的数据:

id:1,
name:"Cxiaoao"

使用哈希存储:

# HMSET {key} {filed1} {value1} {filed2} {value2} ... ...
HMSET user id "1" name "Cxiaoao"

查询此哈希表的所有键值对:

HGETALL user

查看哈希表的一个字段:

HGET user id

删除其中一个字段:

HDEL user {字段名称}

列表(Lists)

列表中可以添加多中类型的元素,简单的就是字符串,列表即是数据结构中的链表,使用双向列表技术实现,越靠近两侧的元素速度越快。

子元素的添加要从头部或尾部加入,由于列表是栈,因此列表是有序的。因为列表是有序的,因此可以存储重复的数据。

适合做例如消息记录(队列),粉丝关注记录、订单记录等。

列表只能添加字符串。

往一个列表加入数据:

LPUSH {key} {一个元素值}

例如:

LPUSH list a
LPUSH list b
LPUSH list c

列表的命令比较多,自己查询文档就好,这里不再赘述。

集合(Set)

列表(List)是有序的,集合(Set)是无序的。集合不能出现重复的数据。

应用场景如网站的访问IP(去重)记录、花店中花的种类等。

集合是字符串元素的集合,只能存储字符串。

使用 SADD 命令往集合中添加一个元素:

SADD set a
SADD set b
SADD set c
SADD set a b c

有序集合(sorted set)

有序集合跟集合一样,只是有有序集合会根据元素的值从小到大排序。

有序集合也只能添加字符串。

ZADD ss 2 a
ZADD ss 1 b
ZADD ss 4 z

查询:

ZRANGE ss 0 10 WITHSCORES
posted @ 2021-06-04 15:25  Karl_Albright  阅读(56)  评论(0编辑  收藏  举报