龙空技术网

Redis主要数据类型—官方原版

DOKER 36

前言:

目前看官们对“错误日志项数 0f”大约比较关怀,大家都想要学习一些“错误日志项数 0f”的相关文章。那么小编在网摘上网罗了一些关于“错误日志项数 0f””的相关知识,希望你们能喜欢,兄弟们一起来学习一下吧!

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 返回所提供成员的秩,假设排序集按降序排列。

六、Redis Streams

Redis 流是一种数据结构,其作用类似于仅追加日志。 您可以使用流实时记录和同时联合事件。 Redis 流用例的示例包括:

事件源(例如,跟踪用户操作、点击等)

传感器监测(例如,现场设备的读数)

通知(例如,在单独的流中存储每个用户的通知记录)

Redis 为每个流条目生成一个唯一的 ID。 您可以在以后使用这些 ID 检索其关联的条目,或读取和处理流中的所有后续条目。

Redis 流支持多种修剪策略(以防止流无限增长)和多个消费策略

基本命令

XADD 向流添加新条目。

XREAD读取一个或多个条目,从给定位置开始并及时向前移动。

XRANGE 返回两个提供的条目 ID 之间的条目范围。

XLEN 返回流的长度。

七、geospatial(Redis地理空间)

Redis 地理空间索引允许您存储坐标并搜索它们。 此数据结构可用于查找给定半径或边界框内的邻近点。

基本命令

GEOADD 将位置添加到给定的地理空间索引(请注意,使用此命令,经度位于纬度之前)。

GEOSEARCH 返回具有给定半径或边界框的位置。

八、HyperLogLog(Redis超级日志)

HyperLogLog 是一种估计集合基数的数据结构。作为一种概率数据结构,HyperLogLog 以完美的精度换取高效的空间利用率。

Redis HyperLogLog 实现最多使用 12 KB,并提供 0.81% 的标准误差

基本命令

PFADD 将项目添加到 HyperLogLog。

PFCOUNT 返回集合中项数的估计值。

PFMERGE将两个或多个HyperLogLogs合并为一个。

限制

HyperLogLog 可以估计最多具有 18,446,744,073,709,551,616 (2^64) 个成员的集合的基数。

九、bitmaps(位图)

Redis 位图是字符串数据类型的扩展,可让您将字符串视为位向量。 还可以对一个或多个字符串执行按位运算。 位图用例的一些示例包括:

集合成员对应于整数 0-N 的情况的有效集合表示形式。

对象权限,其中每个位表示一个特定权限,类似于文件系统存储权限的方式。

基本命令

SETBIT 将提供的偏移量处的位设置为 0 或 1。

GETBIT 返回给定偏移量的位值。

BITOP 允许您对一个或多个字符串执行按位运算。

十、bitfields(位字段)

Redis位字段允许您设置、递增和获取任意位长度的整数值。例如,可以对从无符号1位整数到有符号63位整数的任何对象进行操作。

这些值使用二进制编码的Redis字符串存储。位字段支持原子读取、写入和增量操作,使其成为管理计数器和类似数值的好选择。

基本命令

BITFIELD自动设置、递增和读取一个或多个值。

BITFIELD_RO是BITFIELD的只读变体。

文章下方有交流学习区!一起学习进步!也可以前往官网,加入官方微信交流群!!!你的支持和鼓励是我创作的动力❗❗❗

Doker的成长,欢迎大家一起陪伴!!!

官网:Doker 多克 官方旗舰店:首页-Doker 多克 多克创新科技企业店-淘宝网全品优惠

标签: #错误日志项数 0f