单一数据库缓存的完美解决方案
2017-10-26 11:47
357 查看
单一数据库缓存的完美解决方案
一 属性值
Cache 设置readVersion、updateVersion两个属性值
二 读操作
1 Cache不存在
读取readVersion,未读到设置为0,读取数据库后,更新Cache内容,设置readVersion为前面读到的readVersion。
2 Cache 存在
updateVersion不存在证明没有更新操作,直接获取Cache的内容。
updateVersion 存在则判断readVersion和updateVersion的值
readVersion和updateVersion相同,表示没有最新的更新操作,返回Cache的内容。
readVersion和updateVersion不同,表示有最新更新操作,读取updateVersion,取数据库后,更新Cache内容,设置readVersion为前面读取到的updateVersion。
三 写操作
更新数据库后,取到updateVersion,加1后保存。第一次设置updateVersion为1
保证更新数据库和更新updateVersion为同一个事务
一 属性值
Cache 设置readVersion、updateVersion两个属性值
二 读操作
1 Cache不存在
读取readVersion,未读到设置为0,读取数据库后,更新Cache内容,设置readVersion为前面读到的readVersion。
2 Cache 存在
updateVersion不存在证明没有更新操作,直接获取Cache的内容。
updateVersion 存在则判断readVersion和updateVersion的值
readVersion和updateVersion相同,表示没有最新的更新操作,返回Cache的内容。
readVersion和updateVersion不同,表示有最新更新操作,读取updateVersion,取数据库后,更新Cache内容,设置readVersion为前面读取到的updateVersion。
三 写操作
更新数据库后,取到updateVersion,加1后保存。第一次设置updateVersion为1
保证更新数据库和更新updateVersion为同一个事务
相关文章推荐
- 还原SQL 数据库出现错误-完美解决方案
- Mysql中文乱码问题完美解决方案【需要在my.cnf文件中设置client和mysqld的default-character-set=utf8,建数据库和表的时候也需要制定好编码】
- 还原SQL 数据库出现错误-完美解决方案
- 1亿动态pv/天的超级数据库缓存解决方案,开源了,还有测试代码。作者KK
- Windows 64位下装安装Oracle 11g,PLSQL Developer的配置问题,数据库显示空白的完美解决方案(图文教程)
- redis系列之数据库与缓存数据一致性解决方案
- ASP 包含文件中的路径问题和使用单一数据库连接文件的解决方案
- 分布式数据库缓存的完美解决方案
- CDH中安装Hue连接不上数据库 Unexpected error. Unable to verify database connection 完美解决方案
- Entity Framework 从数据库生成模型丢失数据库文档不完美解决方案
- 1亿动态pv/天的超级数据库缓存解决方案,开源了,还有测试代码。
- 支撑1000万pv的数据库缓存解决方案
- 验证码缓存问题完美解决方案
- 1亿动态pv/天的超级数据库缓存解决方案,开源了,还有测试代码。作者KK
- 支撑1000万pv的数据库缓存解决方案 .
- redis系列之数据库与缓存数据一致性解决方案
- 支撑1000万pv的数据库缓存解决方案
- 1亿动态pv/天的超级数据库缓存解决方案
- .NET 部署问题之完美解决方案总结(访问IIS元数据库失败,找不到页面,应用程序错误解决)
- 缓存与数据库不一致的解决方案