Java 每日一题:Redis 为什么快❓

ops/2025/1/24 3:49:15/

1)💻网络:Redis 采用了多路复用的设计,(提升了并发的处理连接数)。在 Redis 6.0之后处理网络IO采用了多线程进行处理,但数据的处理还是单线程的。

2)💡CPU:Redis 对数据的处理还是由 Redis 的主线程来完成,是单线程的。Redis 不采用多线程进行数据的处理,是因为官方说明 Redis 几乎不存在 CPU 的性能瓶颈问题。若 Redis 采用多线程,需要对数据加同步锁,这会导致 Redis 的性能下降。

3)📸内存:Redis 的数据结构进行了许多优化,如采用压缩表合理利用内存,使用跳跃表设计降低时间复杂度。并且 Redis 提供了许多不同时间复杂度的数据类型,有 string (字符串)、list (链表)、set (集合) 和 zset (有序集合),不同应用场景,采用合适的数据结构可以降低时间复杂度。

4)📑内存映射文件:Redis 还支持将数据映射到文件中,这使得它可以在服务器内存中存储大量数据。当需要读取这些数据时,Redis 可以直接从内存中读取,而无需将数据从文件中读取到内存中。这也进一步提高了Redis 的读写速度。


http://www.ppmy.cn/ops/11706.html

相关文章

Idea如何本地调试线上测试服务器代码?

线上出现问题,但是没加日志打印拍脑门惋惜为啥不多打一行日志 加日志重新部署,半小时没了,问题还没有找到,头顶的灯却早已照亮了整层楼...... 排查别人线上的 bug,不仅代码还没看懂,还没一行日志&#…

《如何给孩子正确的爱》万爱明博士讲座有感

奥维德说:“没有什么比习惯的力量更强大。”习惯是一个人思想与行为的真正领导者。习惯让我们减少思考的时间,简化了行动的步骤,让我们更有效率;也会让我们封闭,保守,自以为是,墨守成规。 在我们的身上&…

第 2 章:FFmpeg简介

2.1 历史 历史 一些相关术语介绍: 容器(Container)格式:一种文件封装格式,里边主要包含了流,一般会使用一个特定的后缀名标识,例如.mov、.avi、.wav等。流 (Stream)&am…

培养个人复原力

Building personal resilience 随着时间的推移,能够有效拥抱变化的人依靠的是他们的韧性。 这指的是一种面对挑战时的总体韧性和迅速恢复的能力。 好消息是,任何人只要愿意,都可以培养自己的韧性。 每天从选择从积极的角度看待所发生的一切开…

C/C++不定参函数

在学习C语言的时候,往往使用printf进行打印,其中printf函数就是一个不定参的函数,在这个函数内部可以根据格式化字符串中格式化的字符,分别获取不同的参数进行数据的格式化。这里对这类不定参的使用简要做出小结。 C语言中不定参数…

【Redis 神秘大陆】004 高可用集群

四、Redis 高可用和集群 当你发现这些内容对你有帮助时,为了支持我的工作,不妨给一个免费的⭐Star,这将是对我最大的鼓励!感谢你的陪伴与支持!一起在技术的路上共同成长吧!点击链接:GitHub | G…

Iterator 迭代器

意图 提供一个方法顺序访问一个聚合对象中的各个元素,且不需要暴漏该对象的内部表示。 结构 Iterator(迭代器)定义访问和遍历元素的接口。ConcreteIterator(具体迭代器)实现迭代器接口;对该聚合遍历是跟踪…

【笔试强训】牛牛快递

链接:牛牛的快递_牛客题霸_牛客网 (nowcoder.com)https://www.nowcoder.com/practice/41b42e7b3c3547e3acf8e90c41d98270?tpId290&tqId39852&ru/exam/oj描述 牛牛正在寄快递,他了解到快递在 1kg 以内的按起步价 20 元计算,超出部分…