[发明专利]一种缓存架构访问方法、装置、介质和电子设备有效
申请号: | 202010450244.5 | 申请日: | 2020-05-25 |
公开(公告)号: | CN111651520B | 公开(公告)日: | 2023-04-18 |
发明(设计)人: | 刘刚;于胜军;吕高攀 | 申请(专利权)人: | 北京字节跳动网络技术有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F16/23;G06F16/2455 |
代理公司: | 北京国昊天诚知识产权代理有限公司 11315 | 代理人: | 姜凤岩 |
地址: | 100041 北京市石景山区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 缓存 架构 访问 方法 装置 介质 电子设备 | ||
本公开提供了一种缓存架构访问方法、装置、介质和电子设备,该方法包括:设置缓存数据结构,缓存数据结构包括第一区域、第二区域和第三区域,其中,第一区域用于存储与数据库同步的第一数据值,第二区域用于存储缓存数据结构中是否存在第一数据值的标识,第三区域用于存储当前时间戳;响应于针对所述第一数据值的查询请求,通过所述标识确定所述第一数据值存在时,从所述缓存数据结构读取所述第一数据值;当通过所述标识确定所述第一数据值不存在时,从所述数据库读取所述第一数据值。通过设置缓存数据结构区域,使得在对缓存数据结构以及数据库读取或修改时,根据不同情况分别执行不同的读取或修改策略,从而有效的提高了缓存访问的命中率。
技术领域
本公开涉及计算机技术领域,具体而言,涉及一种缓存架构访问方法、装置、介质和电子设备。
背景技术
目前互联网业务中,由于用户规模庞大,很多场景存在高并发访问需求。常用的存储数值的场景(比如用户数据),一般都会采用高性能的非关系型的数据缓存(如Redis)和高通讯协议下的数据库存储(如Mysql)的架构来实现。但是在数据访问过程中,如何保证缓存的高命中率、缓存和存储库存储的数据一致性,一直是缓存架构中的技术难点。
现有技术中,常见的缓存方案(如经典google缓存架构)为更新时删除缓存,让下次访问时通过数据库更新数据,此方案存在的问题是缓存使用率过低,在应对突发的访问高峰时,由于访问流量较大,容易导致访问数据库的崩溃。同时也不能保证缓存和数据库中存储的数据的一致性。
本公开的目的在于提供一种缓存架构访问方法、装置、介质和电子设备,至少能够解决上述提到的技术问题之一。具体方案如下:
根据本公开的具体实施方式,第一方面,本公开提供一种缓存架构访问方法,包括:设置缓存数据结构,所述缓存数据结构包括第一区域、第二区域和第三区域,其中,所述第一区域用于存储与数据库同步的第一数据值,所述第二区域用于存储所述缓存数据结构中是否存在所述第一数据值的标识,所述第三区域用于存储当前时间戳;响应于针对所述第一数据值的查询请求,通过所述标识确定所述第一数据值存在时,从所述缓存数据结构读取所述第一数据值;当通过所述标识确定所述第一数据值不存在时,从所述数据库读取所述第一数据值。
可选的,所述当通过所述标识确定所述第一数据值不存在时,从所述数据库读取所述第一数据值之后,还包括:设置所述第一区域存储的数据为从所述数据库读取的所述第一数据值;设置所述第二区域的标识为所述缓存数据结构中存在所述第一数据值;更新所述第三区域的当前时间戳为当前读取时间值。
可选的,还包括修改所述缓存数据结构中的数据,所述修改缓存数据结构中的数据包括:响应于针对所述第一数据值的修改请求,当所述第一数据值发生变更时,更新所述第一区域对应的第一数据值为第二数据值;同步更新所述数据库中的所述第一数据值为第二数据值;或者,响应于针对所述第一数据值的修改请求,当所述第一数据值发生变更时,更新所述第一区域对应的第一数据值为第二数据值;异步更新所述数据库中的所述第一数据值为第二数据值。
可选的,所述修改缓存数据结构中的数据还包括:当更新所述数据库中的所述第一数据值为第二数据值败时,重复更新所述缓存数据结构中的数据,直至将所述数据库中的所述第一数据值更新为第二数据值。
可选的,所述直至将所述数据库中的所述第一数据值更新为第二数据值之后,还包括:在所述第一区域存储所述第二数据值;设置所述第二区域的标识为所述缓存数据结构中存在所述第二数据值;更新所述第三区域为当前更新时间值。
可选的,所述设置缓存数据结构还包括第四区域,所述第四区域用于存储缓存数据过期时间。
可选的,还包括:计算所述当前更新时间值与所述当前读取时间值的差值,当所述差值小于所述过期时间时,对所述过期时间做过期处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京字节跳动网络技术有限公司,未经北京字节跳动网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010450244.5/2.html,转载请声明来源钻瓜专利网。