【技术实现步骤摘要】
本专利技术涉及一种数据处理方法,特别涉及一种数据的缓存方法。技术背景目前在业务软件系统应用中,对于系统处理性能要求越来越高,所以应该 避免频繁的进行数据库操作和文件读写。为解决数据读取低效的问题必然会考 虑到使用缓存技术。缓存就是将一定的数据存放在内存中,当系统需要访问此 数据时,将可以直接从内存中读取,而减免了数据库操作和文件读写的耗时。 在现实环境下,对于大数据量,系统不可能将所有数据缓存到内存中,所以需 要使用一定的策略进行缓存项的淘汰,并且缓存需要在它的缓存项发生变化的 时候对其进行更新处理。目前现有的缓存系统大多采用LRU(最近最少使用)算法,LRU算法是一 种比较简单的淘汰选择算法,它不能真实的反映缓存中内容的使用情况。目前现有的一些缓存系统为了实现简单,而没有提供缓存同步功能,这将 导致缓存的数据和真实数据的偏差。有一些缓存系统虽然提供了缓存同步功 能,但是因为需要消耗大量的系统资源,导致缓存同步代价过大。
技术实现思路
本专利技术所要解决的技术问题在于提出,在系统对外部 数据源需要进行频繁访问时,能够有效地提高读取数据的性能。为实现上述目的,本专利技术提出了,用于获取缓存中存 储的数据,其中,包括步骤--,在缓存中设置与外部数据源连接的用于获取外部数据的接口;步骤二,将缓存分配成多个缓存段,将一个数据只存放在一个缓存段里, 设置每个缓存段的名称和数据的主健值;步骤三,当缓存系统收到数据访问请求时,根据请求访问的缓存段名称和数据的主健值,访问对应的缓存段,并判断所述缓存段中是否已存储所请求的 数据,若已存储,则输出所请求的数据,若未存储,则 ...
【技术保护点】
一种通用缓存的方法,用于获取缓存中存储的数据,其特征在于,包括:步骤一,在缓存中设置与外部数据源连接的用于获取外部数据的接口;步骤二,将缓存分配成多个缓存段,将一个数据只存放在一个缓存段里,设置每个缓存段的名称和数据的主健值 ;步骤三,当缓存系统收到数据访问请求时,根据请求访问的缓存段名称和数据的主健值,访问对应的缓存段,并判断所述缓存段中是否已存储所请求的数据,若已存储,则输出所请求的数据,若未存储,则通过所述接口从外部数据源获取所请求的数据,保存所请 求的数据至所述缓存段中并输出。
【技术特征摘要】
1.一种通用缓存的方法,用于获取缓存中存储的数据,其特征在于,包括步骤一,在缓存中设置与外部数据源连接的用于获取外部数据的接口;步骤二,将缓存分配成多个缓存段,将一个数据只存放在一个缓存段里,设置每个缓存段的名称和数据的主健值;步骤三,当缓存系统收到数据访问请求时,根据请求访问的缓存段名称和数据的主健值,访问对应的缓存段,并判断所述缓存段中是否已存储所请求的数据,若已存储,则输出所请求的数据,若未存储,则通过所述接口从外部数据源获取所请求的数据,保存所请求的数据至所述缓存段中并输出。2. 根据权利要求1所述的通用缓存的方法,其特征在于,还包括 当访问或者修改所述缓存段时,设置段级锁,锁定所述缓存段的步骤;和 当从所述外部数据源读取所述请求的数据时,为所述缓存段中对应的数据设置行级锁,锁定所请求的数据的步骤。3. 根据权利要求1所述的通用缓存的方法,其特征在于,所述步骤三还 包括步骤31,当所述缓存段中已存储所请求的数据时,判断所述已存储的数 据对应的外部数据源中的数据是否已经被更新;步骤32,若未被更新,则直接输出所述已存储的数据,若已被更新,则 调用所述接口从外部数据源获取对应的数据并更新所述缓存项中存储的数据。4. 根据权利要求2或3所述的通用缓存的方法,其特征在于,所述步骤 三具体包括步骤41,根据缓存段的名称和所请求的数据的主键值,访问所述缓存项 并查找所请求的数据;步骤42,为所述缓存段添加段级锁,判断所请求的数据是否存储在所述 缓存项中,若已存储,则进入步骤43,若未存储,则进入歩骤44;步骤43,判断所请求的数据对应的外部数据源中的数据是否被更新,若 未被更新,则进入步骤47,若已被更新,则进入步骤46;步骤44,判断所请求的数据是否已被添加了行级锁,若没有被添加,则进入步骤46,若所请求的数据已被添加了行级锁,则进入步骤45;步骤45,释放段级锁,在所述行级锁被释放后,进入步骤47;步骤46,释放所述段级锁,在所请求的数据上添加行级锁,通过所述接 口,从外部数据源获取所请求的数据,保存至所述缓存段中,然后进入步骤47;步骤47,输出所述缓存段中存放的所请求的数据。5. 根据权利要求4所述的通用缓存的方法,其特征在于,当通过所述接口从外部数据源获取所请求的数据之后,还包括以下步骤步骤51,对所述缓存段添加段级锁;步骤52,判断所述缓存段是否存在足够的剩余空间存储所述通过接口获 取的数据,若存在足够的剩余空间,则进入步骤53,若不存在足够的空间, 则在所述缓存段中释放出足够的空间,然后进入步骤53;步骤53,将从所述接口获取的所请求的数据更新所述缓存段,释放所述 段级锁和行级锁,输出更新后所请求的数据。6. 根据权利...
【专利技术属性】
技术研发人员:唐鲲鹏,吕吉,单良,
申请(专利权)人:中兴通讯股份有限公司,
类型:发明
国别省市:94[]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。