单一数据库缓存的完美解决方案

单一数据库缓存的完美解决方案

一 属性值

Cache 设置readVersionupdateVersion两个属性值

读操作

1 Cache不存在

 读取readVersion,未读到设置为0,读取数据库后,更新Cache内容,设置readVersion为前面读到的readVersion

2 Cache 存在

 updateVersion不存在证明没有更新操作,直接获取Cache的内容。

 updateVersion 存在则判断readVersionupdateVersion的值

   readVersionupdateVersion相同,表示没有最新的更新操作,返回Cache的内容。

   readVersionupdateVersion不同,表示有最新更新操作,读取updateVersion,取数据库后,更新Cache内容,设置readVersion为前面读取到的updateVersion

三 写操作

更新数据库后,取到updateVersion,加1后保存。第一次设置updateVersion1

保证更新数据库和更新updateVersion为同一个事务

 


猜你喜欢

转载自blog.csdn.net/gamezouni/article/details/78351975