IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> redis源码实践手册 -> 正文阅读

[大数据]redis源码实践手册

为何单线程

你期望的多线程编程 VS 实际上的多线程编程
在这里插入图片描述
Redis v4.0(引入多线程处理异步任务)
Redis v6.0(正式在网络模型中实现 I/O 多线程)

redis AE是什么

Redis使用了一个称为“A simple event-driven programming library”的自制异步事件库(以下简称“AE”)。整个事件库的代码量少于1k行,是个优秀的C异步事件库学习材料。

作者:Eason_Ye
链接:https://www.jianshu.com/p/da092472080e
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

redis网络模型源码

设计思想

  1. 合适的场景用合适的方式
    Redis服务器中有不少功能需要获取系统的当前时间,而每次获取系统的当前时间需要执行一次系统调用,为了减少系统调用的次数,服务器状态中的unixtime属性和mstime属性被用作当前时间的缓存
struct redisServer{
    //保存了秒级精度的系统当前UNIX时间戳
    time_t unixtime;
    //保存了毫秒级精度的系统当前UNIX时间戳
    long long mstime;
};

因为serverCron函数会默认以每100毫秒的频率更新unixtime属性和mstime属性,所以这两个属性记录的时间精确度并不算高。

  • 打印日志、更新服务器的LRU时钟、决定是否执行持久化、计算服务器上线时间等对时间精确度要求不高的操作时才会使用这两个属性。
  • 对于设置键过期时间、添加慢查询日志等需要高精度的工作,服务器会执行系统调用从而获取最准确的当前时间

好像synchronized锁,虽然很重,但不是不能用,不是用了效率就低,有场景的:像双重校验锁实现单例就用了synchronized,依然有很高的性能,concurrent hashmap分段锁+synchronized性能也很好,粒度本身很大,但是面积很小,命中的概率很低,是可以用synchronized的

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-09-24 21:03:44  更:2022-09-24 21:05:48 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 9:57:27-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码