本技术公开了一种分布式多级缓存方法及装置,其中方法包括当预设管理平台中缓存项信息被修改后,获取所述预设管理平台发送的事件变更消息;将对所述缓存项信息进行变更的信息广播至服务实例中,以使所述对应的服务实例在接收到广播消息后,从分布式缓存中拉取最新的缓存数据,并更新至进程缓存内。通过事件通知机制,在数据变化时,由管理端告知各分布式服务去拉取缓存并完成无感知的更新,缓存不会按时间过期,接口请求访问时只需要访问进程内缓存,解决缓存穿透和更新缓存时服务抖动的问题,同时也解决了缓存更新的时效性问题。
背景技术
在分布式系统中,对于高性能的功能接口为了提高数据的访问速度,一般采用多级缓存来进行处理。
而对于缓存更新时,通常通过进程内缓存设置有效期、或者服务实例单独设置定时任务的方式。
对于进程内缓存设置有效期的方案,在高并发服务场景中,在数据过期的临界点上,大量的请求由于访问不到进程内缓存,同时将请求访问到了Redis,此时对请求产生抖动,同时需要Redis具有较高的性能要求来满足临界点的访问量,另外对于一些不存在的数据,存在缓存穿透的问题。
对于定时任务定时更新的方案,需要服务单独的定时任务来不断拉取数据,即使数据没有更新也要不断地拉取更新数据,设置定时任务时间过大,缓存数据更新不及时。
实现思路