• 通过“改变引用”和“加锁”的方式提高缓存访问并发度


    提高缓存访问和处理的并发度,在很多缓存应用和IO应用中有很多使用场景。

    一、IO当中写数据的数据缓存,保证Socket在write数据的时候,线程仍然可以向输出队列OutputBuffer当中添加要写出的数据

    二、在数据库缓存log写入硬盘的过程中,使用快照技术,比如changed是要flush进硬盘的数据库修改,如果直接将整个flush过程锁死,其他数据库事务将暂停,效率低下,解决办法,将changed内容转移到snapshot中,重新new 一个对象给changed当中,在snapshot当中慢慢将数据flush进数据库,此时需要两个所

    flushreadwritelock  用于锁changed

    snapshotreadwritelock 用于访问snapshot内容(snapshot内容相当于已经是数据库当中的内容了,get数据的时候在cache当中不存在的时候首先在snapshot当中进行find)

  • 相关阅读:
    Poj_1088_滑雪(DP)
    Poj_1088_滑雪(DP)
    Poj_1011_Sticks(剪枝)
    Poj_1011_Sticks(剪枝)
    Poj_1068 Parencodings
    Poj_1068 Parencodings
    Poj_1005_I Think I Need A HouseBoat
    Poj_1005_I Think I Need A HouseBoat
    Poj_1004_FinancialManagement
    git分支管理
  • 原文地址:https://www.cnblogs.com/wuxinliulei/p/4945831.html
Copyright © 2020-2023  润新知