Redis篇—双写一致性

191 阅读1分钟

强一致

  • 采用redisson实现读写锁 在读的时候添加共享锁,加锁之后,其他线程可以共享读的操作; 在更新数据的时候添加排他锁,加锁之后,阻塞其他线程的读写操作; 排他锁底层使用的是setnx,从而保证了同时只能有一个线程操作锁住的方法;

弱一致

  • 延时双删 需要先更新或者删除数据库中的数据,然后再更新或者删除缓存中的数据,以保证数据的一致性。
  • 缺点: 延时双删,如果是写操作,先把缓存中的数据删除,然后更新数据库,最后再延迟删除缓存中的数据,其实这个延时多久不好确定。在延时的过程中可能会出现脏数据,并不能保证强一致性。