【技术实现步骤摘要】
一种实现缓存数据和数据库数据一致的方法
[0001]本专利技术涉及数据存储
,具体的说,是一种实现缓存数据和数据库数据一致的方法。
技术介绍
[0002]为了提高系统性能,支撑大量用户的并发访问,系统一般会使用缓存技术,业界常用redis中间件来缓存数据。使用redis缓存可以减少磁盘IO的读操作,减轻磁盘IO的压力,提高数据库的可用性和可扩展性,减轻数据库的压力,提高了系统的稳定性。
[0003]现有技术中常用的缓存的查询和更新数据库的方法有基于边缘缓存模式即Cache
‑
Aside Pattern,具体流程如下:当用户请求查询数据时,首先查询缓存,如果缓存中有数据,则直接返回。如果缓存中没有查询到数据,则去数据库中查询,再把查询的数据放入到缓存中,最后返回。当更新数据库中的数据时,首先更新数据库数据,再删除缓存中的数据。由于缓存和数据库是两个不同的存储系统,以下场景,在查询数据和更新数据时,会出现缓存中的数据和数据库中的数据不一致的情况,造成系统数据错误,降低系统的可靠性,影响用户的正常使 ...
【技术保护点】
【技术特征摘要】
1.一种实现缓存数据和数据库数据一致的方法,其特征在于,包括:步骤S1、系统启动时初始化内存队列,并为内存队列创建监听器,并启动监听器;步骤S2、当接收到更新数据请求时,使用写锁判断该数据的修改次数是否为空,若为空则初始化该数据修改次数为1,否则该数据修改次数加1,把该数据和请求类型加入内存队列末尾;当接收到查询数据请求时,采用读锁判断该数据的修改次数是否为0或空,如果是,查询缓存数据,如果缓存中没有该数据,则查询数据库,将数据返回用户同时保存数据到缓存中;否则,把数据唯一标识和请求类型加入内存队列末尾;步骤S3、监听器监听到内存队列有待处理数据时,取出内存队列数据,并根据请求类型执行更新数据流程或查询数据流程,其中:更新数据流程为:删除缓存数据,再更新数据库,然后使用写锁将该数据的修改次数减1,从...
【专利技术属性】
技术研发人员:张银波,陈良,
申请(专利权)人:四川虹美智能科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。