【技术实现步骤摘要】
基于Redis的热点数据缓存方法
本专利技术属于数据通信
,尤其涉及一种基于Redis的热点数据缓存方法。
技术介绍
Redis(RemoteDictionaryServer,远程数据服务)是一款内存高速缓存数据库,该软件使用C语言编写,数据模型为key-value,由于Redis可支持丰富的数据类型,如String、List、Hash、Set、SortedSet等,因此被广泛应用。中国专利技术专利申请号201810803309.2,公开了一种基于Redis的热点数据缓存方法和装置,一方面对Redis缓存中的数据权重排序,可以使缓存中的数据都是高命中率数据,有效的提高了热点数据的查询速度,另一方面当新数据写入缓存中且缓存超标时,通过删除权重最小的数据,同时将此新数据权重值加权到所有权重的中间值,还可以减少缓存空间的占用。但上述专利公开的热点数据缓存方法在应用到实时热点搜索中时,发现其对Redis缓存中的数据更新太慢,很多实时的热点数据仅仅是在很短的一段时间内是热点数据,过了该段时间后其就不是热点数据了, ...
【技术保护点】
1.基于Redis的热点数据缓存方法,其特征在于:包括以下步骤:/n步骤一、获取单位时间内的所有来自客户端的数据查询请求;对该段时间内每个数据查询请求出现的频次进行统计,并按频次由高到低对所有的数据查询请求进行排序;/n步骤二、取排序前N的N个数据查询请求,在数据库中查询该N个数据查询请求对应的数据记录;查询到的N条数据记录存储至Redis缓存中。/n
【技术特征摘要】
1.基于Redis的热点数据缓存方法,其特征在于:包括以下步骤:
步骤一、获取单位时间内的所有来自客户端的数据查询请求;对该段时间内每个数据查询请求出现的频次进行统计,并按频次由高到低对所有的数据查询请求进行排序;
步骤二、取排序前N的N个数据查询请求,在数据库中查询该N个数据查询请求对应的数据记录;查询到的N条数据记录存储至Redis缓存中。
2.按照权利要求1所述的基于Redis的热点数据缓存方法,其特征在于:还包括步骤三、经过时间T后清空Redis缓存,然后执行一次步骤一至步骤二。
3.按照权利要求1或2所述的基于Redis的热点数据缓存方法,其特征在于:所述步骤一中,按频次由高到低对所有的数据查询请求进行排序时,若多个数据查询请求的出线频次相同,则以每个数据查询请求最后一次出现的时间节点对该多个数据查询请求进行排序,时间节点靠后的数据查询请求排在时间节点靠前的数据查询请求之前;若该多个数据查询请求中的几个数据查询请求最后一次出现的时间节点相同,则对该几个数据查询请求按字符串长度排序,字符串长度长的排在字符串长度短的之前。
4.按照权利要求1或2所述的基于Redis的热点数据缓存方法,其特征在于:所述步骤二中,在数据库中查询该N个数据查询请求对应的数据记录时,当一个数据查询请求对应的数据记录在数据库中未查询到时,在Redis缓存中增加一条数据记录,将该增加的数据记录的值设为空值,每条数据记录包括标识和值,所述值代表该数据记录所表达的内容。
5.基于Redis的热点数据缓存方法,其特征在于:包括...
【专利技术属性】
技术研发人员:李方进,
申请(专利权)人:上海静客网络科技有限公司,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。