笔记系列之数据库和缓存同步数据,是删除缓存还是更新缓存?

现在的互联网时代,为了改善用户体验和提高响应速度等因素,顺势而生的出现了缓存机制,但是缓存里的数据一般都是从数据库里我们开发人员处理好一定的key和value直接添加到缓存里面的,但这只是初始化缓存,直接添加没有问题,那如果是第二次操作,把初始化的数据进行与数据库的同步,数据库更新了,那缓存是直接更新还是直接删除了之后在更新呢?


经过调查哈,大多数的操作是:直接删除,然后再添加一遍对应的缓存KV

那问题来了:为什么是删除缓存,而不是更新缓存呢?

先聊聊这两者的区别:具体操作是-前者找到对应的key,直接干掉,后者是找到对应的key,然后更新value,唯一的区别就是后面的操作,首先都是先找到key,然后呢一个是删,一个是改

但改的操作,由于要考虑value的存储类型或者大小,改起来的效率十分的差,比如value是一个list,那你要更新,首先要遍历所有的kye找到你要更新的key,然后还要遍历这个list,最后再修改,在加上缓存本来写的效率就比读的差,遍历+写,双重耗时,所以综上所述:要删不要改

那是不是有小伙伴就会问:是不是所有都可以删?

其实全部都是删,也是没问题的,但是有些情况没必要,比如value是简单类型+业务简单,比如用户的年龄,存下来就是一个int类型,业务就是年龄+1,就可以直接修改即可,但是直接删也没问题


综上所述:要删不要改,要删总没错!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值