在有些业务背景下,需要cache防止并发的情况,然后cache却不能提供锁的功能,可以由应用代为实现
1.第一次存入cache的数据时,加一个modifiedTime的时间戳
2.下次更新的时候,必须保证取到当前的时间戳和cache中数据的时间戳一致,这样才可以更新;否则直接removecache,不要影响到正常业务。
其实,这种乐观锁的实现,和DB层的乐观锁实现原理是一样的,即先操作业务,具体执行时必须和DB/cache中的版本或者时间戳保持一致。
在有些业务背景下,需要cache防止并发的情况,然后cache却不能提供锁的功能,可以由应用代为实现
1.第一次存入cache的数据时,加一个modifiedTime的时间戳
2.下次更新的时候,必须保证取到当前的时间戳和cache中数据的时间戳一致,这样才可以更新;否则直接removecache,不要影响到正常业务。
其实,这种乐观锁的实现,和DB层的乐观锁实现原理是一样的,即先操作业务,具体执行时必须和DB/cache中的版本或者时间戳保持一致。