博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
通过“改变引用”和“加锁”的方式提高缓存访问并发度
阅读量:6127 次
发布时间:2019-06-21

本文共 464 字,大约阅读时间需要 1 分钟。

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

 

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

 

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

flushreadwritelock  用于锁changed

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

转载于:https://www.cnblogs.com/wuxinliulei/p/4945831.html

你可能感兴趣的文章
JSONP实现跨域
查看>>
虚拟机VMware 9安装苹果MAC OSX 10.8图文教程
查看>>
POJ3694 Network
查看>>
微信小程序开发-框架
查看>>
redo、undo、binlog的区别
查看>>
DropDownList 控制日期控件显示格式
查看>>
RecycleView设置顶部分割线(记录一个坑)
查看>>
【设计模式系列】单例模式的7种写法
查看>>
汉字转拼音 (转)
查看>>
Machine Learning Techniques -6-Support Vector Regression
查看>>
会计基础_001
查看>>
ajax请求拿到多条数据拼接显示在页面中
查看>>
小程序: 查看正在写的页面
查看>>
dedecms生成文档数据库崩溃 mysql daemon failed to start
查看>>
Linux的50个基本命令
查看>>
Objective-C中创建单例方法的步骤
查看>>
Jenkins持续集成环境部署
查看>>
emoji等表情符号存mysql的方法
查看>>
检查磁盘利用率并且定期发送告警邮件
查看>>
MWeb 1.4 新功能介绍二:静态博客功能增强
查看>>