对于数据的脏读的处理方式,在设计过程中,CACHE中的数据因为淘汰算法,有可能进行了更新,但是还有其他的TASK进行读写,一般的方式是使用串行化或读写锁的方式进行,对于高并发的系统来讲,性能会打折扣,为了更好地平衡性能和正确性的问题,可以采用少加锁的方式和允许脏读的操作,只是需要进行脏读的数据判断。
标记法,通过修改计数器,或者关键数据修改的方式,在读实际数据前,读取标记,并记录下来,读数据放入新的缓存区,然后再读取标记,和前一次的数据记录进行比较,如果有变化,则可以判断数据有变化,数据有可能是脏数据,数据不可靠。如果比较相同,则可以判断数据未变化;
标记判断法的标记,一定要在改数据前进行标记,区分两种状态,数据静止状态和写操作状态,写的过程中,将标记设置为写状态,此时读的任务读的数据一定会有问题,直接判断数据为脏数据,当标记为静止状态时,读的任务读数据也有能是脏数据,读的过程中,有写操作,数据校验码;