Redis1
创始人
2024-11-11 09:07:03

Redis的优势

1.性能极高

2.数据类型丰富

3.支持数据的持久化

4.支持数据备份

Redis除了能做什么?

分布式缓存、内存存储和持久化、分布式锁、排行榜、消息队列.....

Redis怎么实现消息队列?

Redis5.0新增的数据结构Stream可以用来做消息队列,不过和专业的消息队列相比还有很多欠缺。

Redis数据类型

1.String(字符串)

2.List(列表)

3.Hash(哈希表)

4.Set(集合)

5.Zset(sorted set:有序集合)

6.GEO(地理空间)

7.HyperLogLog(基数统计)

8.bitmap(位图)

9.bitfield(位域)

10.Stream(流)

最后两种不常见

Redis实现统计网站UV?

UV:独立访客,一般理解为客户端IP,需要去重

HyperLogLog 是用来做基数统计的算法,HyperLogLog 的优点是,在输入元素的数量或者体积非常非常大时,计算基数所需的空间总是固定且是很小的

Redis实现一个排行榜?

Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。 不同的是每个元素都会关联一个double类型的分数,redis正是通过分数来为集合中的成员进行从小到大的排序。可以用Zset实现排行榜。

Redis单线程模型

Redis 是跑在单线程中的,所有的操作都是按照顺序线性执行的,但是由于读写操作等待用户输入或输出都是阻塞的,所以 I/O 操作在一般情况下往往不能直接返回,这会导致某一文件的 I/O 阻塞导致整个进程无法对其它客户提供服务,而 I/O 多路复用就是为了解决这个问题而出现

所谓 I/O 多路复用机制,就是说通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或写就绪),能够通知程序进行相应的读写操作。这种机制的使用需要 select 、 poll 、 epoll 来配合。多个连接共用一个阻塞对象,应用程序只需要在一个阻塞对象上等待,无需阻塞等待所有连接。当某条连接有新的数据可以处理时,操作系统通知应用程序,线程从阻塞状态返回,开始进行业务处理。Redis基于Reactor模式开发了网络事件处理器,这个处理器被称为文件事件处理器。它的组成结构为4部分:多个套接字、IO多路复用程序、文件事件分派器、事件处理器。因为文件事件分派器队列的消费是单线程的,所以Redis才叫单线程模型

Redis6.0之前为什么不使用多线程依旧很快?

1.基于内存操作

2.数据结构简单

3.多路复用和非阻塞I/O

4.避免上下文的切换

Redis6.0之前性能瓶颈不在CPU

Redi6.0之后为何引入了多线程?

提高网络IO读写性能

相关内容

热门资讯

裸辞做“一人公司”,我后悔了 去年这个时候,一位以色列程序员正在东南亚旅行。他顺手把一个在脑子里转了很久的想法做成了产品,一个让任...
南京建成国内首个Pre-6G试... 4月21日,2026全球6G技术与产业生态大会在南京开幕。全息互动技术展台前,一名远在北京的工作人员...
超梵求职受邀参加“2025抖音... 超梵求职受邀参加“2025抖音巨量引擎成人教育行业生态大会”,探讨分享优质内容传播,服务万千学员。 ...
摩托罗拉Razr 2026(R... IT之家 4 月 22 日消息,摩托罗拉宣布新一代 Razr 折叠手机将于 4 月 29 日在美国发...
库克卸任,特纳斯领航:苹果新纪... 苹果首席执行官蒂姆·库克将卸任,硬件工程主管约翰·特纳斯将接任,苹果公司今天宣布此事。 库克将在夏季...