The embodiment of the invention discloses a cache data refreshing method and device. Methods include: getting the caching task of the Oracle database; refreshing the pending data corresponding to the cached task to the application database Redis and generating a data refresh signal key corresponding to the data to be cached; when the pending data is refreshed to the internal cache of the business processor, the value of the key is in the value. Write the ID of the business handler. On the basis of the SOA architecture, the invention builds the IBM Streams based on the Oracle database and the application database Redis+ advanced computing platform, which automatically generates the refresh signal key when the cache data is refreshed to Redis, and then writes ID to the value in key when the internal cache of the business processor is refreshed, and the cache data is realized. Persistence and synchronization to avoid repeated refresh program caching and reduce resource waste.
【技术实现步骤摘要】
一种缓存数据刷新方法及装置
本专利技术实施例涉及通信
,具体涉及一种缓存数据刷新方法及装置。
技术介绍
缓存是一种常驻于内存的内存数据库,内存的读取速度远远快于程序在磁盘读取数据的速度。在设计程序的时候常常会考虑使用缓存,将经常访问的数据放到内存上面这样可以提高访问数据的速度,同时可以降低磁盘或数据库的压力。目前,通常采用Memcached的缓存策略,Memcached是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached为了提高数据的存储速度,在安装启动Memcached服务的时候,它会自动将分配给Memcached的内存分隔为大小不一致的很多块。每当任意一个大小的需要缓存的数据提交过来的时候Memcached将会自动找到符合这个数据大小最适合的内存块,然后把数据放到这个块里面。在实现本专利技术实施例的过程中,专利技术人发现在使用Memcached的缓存策略时,默认情况下会采用名为SlabAllocator的机制分配、管理内存,该机制给Memcached带来了内存使用效率问题:由于分配的是特定长度的内存,因此无法有效利用分配的内存。而且,Memcached仅仅支持简单的key/value类型的数据,在Memcached里,需要将数据拿到客户端来进行类似的修改再set回去,这大大增加了网络IO的次数和数据体积,而且该策略不具备数据持久化和数据同步的功能。
技术实现思路
本专利技术实施例的一个目的是解决现有技术由于使用Memcach ...
【技术保护点】
1.一种缓存数据刷新方法,其特征在于,包括:获取Oracle数据库的缓存任务;将与所述缓存任务对应的待缓存数据刷新至应用数据库Redis,并生成与所述待缓存数据对应的数据刷新信号key;在将所述待缓存数据刷新至业务处理程序的内部缓存时,向所述key的value中写入所述业务处理程序的ID。
【技术特征摘要】
1.一种缓存数据刷新方法,其特征在于,包括:获取Oracle数据库的缓存任务;将与所述缓存任务对应的待缓存数据刷新至应用数据库Redis,并生成与所述待缓存数据对应的数据刷新信号key;在将所述待缓存数据刷新至业务处理程序的内部缓存时,向所述key的value中写入所述业务处理程序的ID。2.根据权利要求1所述的方法,其特征在于,所述获取Oracle数据库的缓存任务包括:按照预设查询条件查询Oracle数据库的缓存刷新任务表,获取缓存任务;其中,所述缓存刷新任务表用于存储与待缓存数据关联的缓存任务。3.根据权利要求1或2所述的方法,其特征在于,所述将与所述缓存任务对应的待缓存数据刷新至应用数据库Redis包括:判断所述缓存任务是否满足预设缓存条件;根据判断结果将与所述缓存任务对应的待缓存数据刷新至应用数据库Redis。4.根据权利要求3所述的方法,其特征在于,所述根据判断结果将与所述缓存任务对应的待缓存数据刷新至应用数据库Redis包括:若判断获知所述缓存任务的数量大于0,则将所述待缓存数据刷新至应用数据库Redis;或者,若判断所述缓存任务对应的待缓存数据的大小大于等于预设阈值,则将所述待缓存数据刷新至应用数据库Redis。5.根据权利要求4所述的方法,其特征在于,若判断获知所述缓存任务的数量等于0或者所述缓存任务对应的待缓存数据的大小小于所述预设阈值,则在预设周期达到时,再次...
【专利技术属性】
技术研发人员:刘彦伯,崔刚,
申请(专利权)人:中国移动通信集团公司,中国移动通信集团河南有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。