pio*_*rek 19 caching computer-architecture dirty-data
我在工作中的一些源代码和其他一些代码中看到了一些名为'dirty'的变量.这是什么意思?什么是脏旗?
小智 16
这里有一个更深层次的问题 - 而不是"肮脏意味着什么?" 在代码的上下文中,我认为我们真的应该问 - "脏"是一个适合通用意图的术语.
'Dirty'可能令人困惑和误导.它会建议许多新程序员腐败或错误的表单数据."脏"工作意味着出现了问题,需要清除或删除数据.肮脏的东西,毕竟是不受欢迎的,不洁净和令人不快的.
如果我们的意思是"表格已经被触及"或"表格已被修改但变更尚未写入服务器",那么为什么不"触摸"或"写入"而不是"脏"?
我认为,这是编程社区需要解决的问题.
“脏”通常用在缓存上下文中,从应用程序级缓存到架构缓存。
一般来说,缓存机制有两种:(1)直写式(write through);(2) 回写。我们简称为WT和WB。
WT意味着对缓存和后备存储的写入是同步完成的。(例如,通过说缓存和后备存储,它们在数据库上下文中可以分别代表主内存和磁盘)。
相反,对于WB,最初仅写入缓存。对后备存储的写入被推迟,直到包含数据的缓存块即将被新内容修改/替换。
数据是脏值。在实现WB缓存时,可以设置脏位来指示缓存块是否包含脏值。