首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

redis 单线程能做到高性能

现在很多码农都有接触到Redis,可是在使用Redis的时候也会遇到一些bug一些坑,虽然会遇到坑,但是redis 单线程能做到高性能。

Redis 的大部分操作都在内存中完成,并且采用了高效的数据结构,因此 Redis 瓶颈可能是机器的内存或者网络带宽,而并非 CPU,既然 CPU 不是瓶颈,那么自然就采用单线程的解决方案了。Redis 每种数据类型底层都做了优化,目的就是为了追求更快的速度。

Redis命令的处理是单线程的,Redis支持RDB和AOF两种持久化机制,持久化功能可以有效地避免数据丢失问题。Redis6.0引入了多线程,需要注意的是,多线程用于处理网络数据的读写和协议解析,Redis命令执行还是单线程的。

Redis支持两种方式的持久化,一种是RDB的方式,一种是AOF的方式。前者会根据指定的规则定时将内存中的数据存储在硬盘上,而后者在每次执行完命令后将命令记录下来,一般将两者结合使用。

Redis 线程不会阻塞在某一个特定的监听或已连接套接字上,也就是说,不会阻塞在某一个特定的客户端请求处理上。正因为此,Redis 可以同时和多个客户端连接并处理请求,从而提升并发性。

数据结构有优化:SDS封装了一个字符串,比如可以O(1)拿到长度,不用遍历.跳表,多级索引搜索数据。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230524A01WKB00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券