【技术实现步骤摘要】
本专利技术涉及数据存储
,更具体地说,涉及一种缓存数据访问方法及数据缓存系统。
技术介绍
Memcached是分布式内存键/值缓存系统,“分布式”指可以将缓存分布到多台机器上,“内存”指缓存的内容全部保存在内存中,“键/值”指缓存的内容为键(key )和对应的值(value)。单用户环境下,常用的缓存方法是用户自己架设Memcached,用命令行参数指定Memcached的可用内存大小和监听的地址,然后用程序通过Memcached客户端库连接对应地址访问缓存内容。如果单个Memcached大小不够用,就架设多个Memcached,再使用Memcached客户端库内置的分布式算法根据键key寻找对应后台Memcached地址的功能来访问缓存内容。扩展到多用户环境下,通过一个管理程序管理多个Memcached,增加用户时启动一个(或多个)Memcached,通过命令行参数传递给Memcached该用户的最大内存配额,并将Memcached的地址传给用户程序,用户程序据此访问Memcached。通过专利技术人的研究发现,现有Memcached应用中,用户一般不会 ...
【技术保护点】
一种缓存数据访问方法,其特征在于,包括:接收用户的访问请求,所述访问请求中携带有键信息;根据所述键信息,查找哈希表得到对应的第一内存块;当所述访问请求为写数据请求,将所述第一内存块转移至全局最近最少使用LRU以及对应所述用户的用户LRU中与写后数据大小级别相同的第一链表头部,其中,每个用户对应一个用户LRU,所述用户LRU中预置有所述用户所属的内存块链表;如果所述用户占用内存达到内存限额,当所述第一链表不为空时,则取处于所述第一链表尾部的内存块保存所述写后数据;否则,当所述第一链表为空时,获取所述全局LRU中与写后数据大小级别相同的第二链表,取处于所述第二链表尾部的内存块保 ...
【技术特征摘要】
1.一种缓存数据访问方法,其特征在于,包括 接收用户的访问请求,所述访问请求中携带有键信息; 根据所述键信息,查找哈希表得到对应的第一内存块; 当所述访问请求为写数据请求,将所述第一内存块转移至全局最近最少使用LRU以及对应所述用户的用户LRU中与写后数据大小级别相同的第一链表头部,其中,每个用户对应一个用户LRU,所述用户LRU中预置有所述用户所属的内存块链表; 如果所述用户占用内存达到内存限额,当所述第一链表不为空时,则取处于所述第一链表尾部的内存块保存所述写后数据;否则,当所述第一链表为空时,获取所述全局LRU中与写后数据大小级别相同的第二链表,取处于所述第二链表尾部的内存块保存所述写后数据; 将保存写后数据的内存块转移至所述第一链表和第二链表的头部。2.根据权利要求1所述的方法,其特征在于,还包括将所述全局LRU、用户LRU及哈希表中对应所述第一内存块的记录信息删除。3.根据权利要求1所述的方法,其特征在于,还包括当所述访问请求为写数据请求, 且所述用户占用内存未达到内存限额时,则向内存池重新申请一块与写后数据大小级别相同的内存块进行所述写后数据的保存,同时增加所述用户的占用内存计数。4.根据权利要求1所述的方法,其特征在于,还包括当所述访问请求为读数据请求时,将所述第一内存块中对应数据反馈给所述用户。5.根据权利要求1所述的方法,其特征在于,还包括当所述访问请求为删除数据请求时,则将所述第一内存块放回至相应内存池,并将所述全局LRU、用户LRU及哈希表中对应所述第一内存块的记录信息删除,同时减少所述用户的占用内存计数。6.根据权利要求1飞中任一项所述的方法,其特征在于,还包括 根据所述用户的身份信息,对所述用户进行认证。7.一种数据缓存系统,其特征在于,包括 接收单元,用于接收用户的访问请求,所述访...
【专利技术属性】
技术研发人员:窦元,
申请(专利权)人:北京搜狐新媒体信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。