缓存淘汰策略-LRU

序言

​ 在计算机硬件中缓/内存设计是用来机器启动的时候加载程序,分配运行空间数据,停机,缓/内存中的数据会丢失;磁盘用来持久化存储,提供数据加载到内存中,内存的读写速度比磁盘快很多,以下是Jeff DeanNumbers Everyone Should Know” 中提供的数据(虽然过去10多年了), 读取1MB数据,从内存中读比从磁盘中读取快100+倍;但是缓/内存的空间比磁盘空间少,为了加快数据的访问,减少缓存/磁盘io,大概分为三种:1. 可以提前将数据从磁盘加载到内/缓存中(page)、2. 内/缓存miss从下层存储获取数据(cache,pool,page)、3. 无需加载,直接内/缓存evict;如果提供给进程的最大内/缓存资源到了最大限制,需要对存储资源进行evict操作,常用的evict策略可以从Cache_replacement_policies中了解;有关特定于分页的详细算法,请参阅页面替换算法;有关特定于 CPU 和 RAM 之间缓存的详细算法,请参阅CPU 缓存。这里主要关注LRU evict相关策略。

服务改造简述

背景

随着前期业务迭代不断增多,会留下一些技术债务;用户不断累计增加,整体DAU,MAU,PV/UV的不断上升,为了符合根据组织结构和业务需求更加稳定健康的发展,需要对业务服务进行改造/重构;采用团队适合的语言开发,将服务进行分层,抽象底层模型,分离出不变/易变业务逻辑;业务改造和基础建设服务升级(整体系统认知的改变)

工程师六大意识

1.时间意识

​ 时间意识的终极目标是按时保质的完成工作。时间是一种宝贵的资源,由于每天工作时间的有限的而需要处理事情是复杂多变性的,为了按时保质的完成工作,我们首先需要有极强的时间意识,使用科学的时间管理策略。总的来说,时间管理就是让我们更有计划的知道需要做什么,什么时候做什么,而时间管理的难点为:事情具有突发性、完成时间难以预算性、执行力和预期不符合。

组织引擎

背景:

教学直播间场景多样性,按年龄段区分辅导后台角色,构成整个教学课中直播和互动的多样性,为了快速支持业务发展,导致后端服务接口过多,不易维护,统一管理。

网络模型

看了一些开源的网络I/O模型框架库,尝试着按照理解简单实现一个相对简单的网络I/O模型框架,类似netty的reactor模型。

教学直播概括

背景:

不同于常规的主播互动直播;教学直播,面向k12人群,

前期会有课前的准备工作比如课程创建,学生购买数据,老师课件,试卷题目的准备;

双师模式:学生会分配给不同的辅导老师,辅导老师会对学生进行分班处理,课中也会有学生选组上课互动的场景,辅导老师也可以给学生上课,也会在后台进行跟课,监督学生上课;

相对于常规的主播互动,会模拟线下上课的场景到线上课中直播,形成一套线上教学直播间场景模式