欢迎关注微信公众号:互联网全栈架构

上一篇文章我们介绍了Redis的五种基本数据类型,详细内容请参见:吃透Redis系列:琳琅满目的数据类型(上篇)除了这几种基本的数据类型外,Redis还提供了五种扩展数据类型,从使用频率上来讲,它可能不如基本数据类型那么高,但对于某些特定应用场景,它们能很好满足,所以也有必要进行学习和了解,以便有备无患。
在文章的最后,我们用一张图来总结这十种数据类型的含义(毕竟,一图胜千言,更方便记住)。为了方便阅读,还是把这张数据类型的思维导图放出来:

1

Stream

Stream是流的意思,它类似于一个日志追加(append-only)的数据结构,在实际应用中,它主要用于实现消息队列的功能,也可以用于记录和处理各种事件,或者作为一个通知系统,把消息推送给用户或者其他系统。
在Stream中,每条数据都被赋予唯一的一个序列号,可以使用这个序列号来获取关联的数据,或者处理Stream中后面的数据,这个序列号是随着时间顺序递增的。

Stream的一些常用操作(更详细的说明请参考官方网站):

#用于向Stream中添加消息

XADD key <* | id> field value [field value ...]

#从Stream中读取消息

XREAD [COUNT count] STREAMS key [key ...] id [id ...]

#获取指定范围内的消息

XRANGE key start end [COUNT count]

#返回消息的数量

XLEN key

示例:

127.0.0.1:6379>PFADDweb-view"Tom""John""Tony"(integer)1127.0.0.1:6379>PFCOUNTweb-view(integer)3127.0.0.1:6379>PFADDweb-view2"John"(integer)1127.0.0.1:6379>PFMERGEweb-viewweb-view2OK127.0.0.1:6379>PFCOUNTweb-view(integer)3

6

总结

本文介绍了五种扩展数据类型,包括流、地理空间、位图、位域、基数统计等,它们对于一些互联网相关的业务需求非常适合,与传统的实现方案相比(比如采用关系型数据库),这些数据结构可能更有针对性、效率更高,使用起来也更为简便

为了方便记忆和理解,我们用一张示例图来总结这十种数据类型的含义:

创作不易,烦请点个在看、点个赞,非常感谢!

鸣谢:
https://architecturenotes.co/redis/

推荐阅读:

吃透Redis系列:琳琅满目的数据类型(上篇)

吃透Redis系列:总体介绍

离大谱,MySQL竟然无视空格的存在!

本篇文章来源于微信公众号: 互联网全栈架构



微信扫描下方的二维码阅读本文

此作者没有提供个人介绍
最后更新于 2024-03-04