奉贤网站建设专家无锡seo网站管理
Redis 是一个数据结构服务器。 Redis 的核心是提供一系列本机数据类型,可帮助您解决从缓存到队列再到事件处理的各种问题
Redis主要数据类型:String(字符串),Lists(列表),Sets(集合),Hashes(哈希),Sorted sets(有序集合),Streams(流),Bitmaps,Geospatial indexes,Bitfields,HyperLogLog,Extensions。
一、String(字符串)
Redis 字符串存储字节序列,包括文本、序列化对象和二进制数组。 因此,字符串是最基本的 Redis 数据类型。 它们通常用于缓存,但它们支持其他功能,这些功能也允许您实现计数器并执行按位运算。
限制
默认情况下,单个 Redis 字符串的最大大小为 512 MB。
基本命令
SET 存储字符串值。
仅当字符串值尚不存在时,SETNX 才会存储该值。对于实现锁很有用。
GET 检索字符串值。
MGET 在单个操作中检索多个字符串值。
二、Lists(列表)
Redis 列表是字符串值的链接列表。 Redis 列表经常用于:
实现堆栈和队列。
为后台工作程序系统构建队列管理。
限制
Redis 列表的最大长度为 2^32 - 1 (4,294,967,295) 个元素。
基本命令
LPUSH 在列表的头部添加一个新元素;RPUSH添加到尾部。
LPOP 从列表的头部删除并返回一个元素;RPOP 执行相同的操作,但从列表的尾部。
LLEN 返回列表的长度。
LMOVE 以原子方式将元素从一个列表移动到另一个列表。
LTRIM 将列表缩减到指定的元素范围。
阻止命令
列表支持多个阻止命令。 例如:
BLPOP 从列表的头部删除并返回一个元素。 如果列表为空,则该命令将一直阻止,直到元素可用或达到指定的超时。
BLMOVE 以原子方式将元素从源列表移动到目标列表。 如果源列表为空,则该命令将阻塞,直到新元素可用。
三、Sets(集合)
Redis 集是唯一字符串(成员)的无序集合。 您可以使用 Redis 集有效地:
跟踪唯一项目(例如,跟踪访问给定博客文章的所有唯一 IP 地址)。
表示关系(例如,具有给定角色的所有用户的集合)。
执行常见的集合操作,例如交集、并集和差分。
限制
Redis 集的最大大小为 2^32 - 1 (4,294,967,295) 个成员。
基本命令
• SADD 将新成员添加到集合中。
• SREM从集合中删除指定的成员。
• SISMEMBER测试字符串的集合成员资格。
• SINTER 返回两个或多个集合共有的成员集(即交集)。
• SCARD 返回集合的大小(也称为基数)
例子
存储用户 123 和 456 的收藏书籍 ID 集:
> SADD user:123:favorites 347
(integer) 1
> SADD user:123:favorites 561
(integer) 1
> SADD user:123:favorites 742
(integer) 1
> SADD user:456:favorites 561
(integer) 1
四、Redis hashes
Redis 哈希是结构化为字段值对集合的记录类型。 您可以使用哈希来表示基本对象和存储计数器分组等。
基本命令
HSET 在哈希上设置一个或多个字段的值。
HGET 返回给定字段的值。
HMGET 返回一个或多个给定字段的值。
HINCRBY 将给定字段的值按提供的整数递增。
限制
每个哈希最多可以存储 4,294,967,295 (2^32 - 1) 字段值对。 实际上,哈希仅受托管 Redis 部署的 VM 上的总体内存限制
五、Redis sorted sets
Redis 排序集是按关联分数排序的唯一字符串(成员)的集合。 当多个字符串具有相同的分数时,字符串将按字典顺序排序。 排序集的一些用例包括:
排行榜。例如,您可以使用排序集轻松维护大型在线游戏中最高分的有序列表。
速率限制器。特别是,您可以使用排序集来构建滑动窗口速率限制器,以防止过多的 API 请求。
基本命令
ZADD 将新成员和关联的分数添加到排序集。如果成员已存在,则会更新分数。
ZRANGE 返回在给定范围内排序的排序集的成员。
ZRANK 返回所提供成员的排名,假设排序是按升序排列的。
ZREVRANK 返回所提供成员的秩,假设排序集按降序排列。