c# 数据库数据更新,缓存过期问题
当缓存中的数据尚未过期,数据库中的实际数据已经发生改变,如何通知应用程序,更新缓存,以确保数据的实时更新...
当缓存中的数据尚未过期,数据库中的实际数据已经发生改变,如何通知应用程序,更新缓存,以确保数据的实时更新
展开
展开全部
这个不应该是数据库通知应用程序更新,而是在程序修改数据库时,同时把缓存修改掉,或者修改完数据库重新获取数据库中的数据到缓存中.
当然如果你是手动在数据库中修改,就没办法做到时时更新缓存.只能定时更新.比如每隔1小时重新获取数据库中的数据到缓存中.
当然如果你是手动在数据库中修改,就没办法做到时时更新缓存.只能定时更新.比如每隔1小时重新获取数据库中的数据到缓存中.
追问
应用程序修改了数据,如何自动更新缓存?每一存入缓存的数据都涉及几个表,如果其中任一条数据发生变化,都要更新缓存,那代码量是不是大了,有方法解决吗?是不是要使用缓存依赖?
追答
缓存依赖是定时查询数据库吧,就是我说的每隔1小时获取数据库数据.
如果相隔的时间太短,比如5秒一次,我觉得这样的话用缓存就没意义了.用缓存不就是为了减少查询数据库次数吗?
至于代码量,写一个公共修改方法,在数据变动的时候调用一下,应该没多少吧.
再简单点就是在数据变动的时候调用一次给缓存初始从数据库中获取数据的方法.
以上为个人观点.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询