[发明专利]redis缓存清理方法、服务器及计算机可读存储介质在审
申请号: | 201711401389.0 | 申请日: | 2017-12-22 |
公开(公告)号: | CN108280031A | 公开(公告)日: | 2018-07-13 |
发明(设计)人: | 罗川 | 申请(专利权)人: | 努比亚技术有限公司 |
主分类号: | G06F12/0886 | 分类号: | G06F12/0886;G06F12/0893;G06F9/50 |
代理公司: | 深圳市凯达知识产权事务所 44256 | 代理人: | 刘大弯;沈荣彬 |
地址: | 518057 广东省深圳市南山区高新区北环大道9018*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 缓存清理 迭代 内存 计算机可读存储介质 服务器 扫描 数据类型 占用 删除 缓存 扫描命令 主动选择 与非 存储 堵塞 | ||
本发明公开了一种redis缓存清理方法、服务器及计算机可读存储介质,该redis缓存清理方法包括:通过scan命令迭代扫描redis缓存中存储的key;判断各个key的数据类型,其中key的数据类型包括string类型和非string类型;对于string类型的key,获取key中占用内存较大的key并提供给用户;对于非string类型的key,通过与非string类型对应的扫描命令对key进行迭代扫描以得到key中包括的子key,获取各个子key中占用内存较大的子key并提供给用户。与现有技术相比,本发明将占用内存较大的key和子key提供给用户,由此用户可以主动选择对哪些key进行清理;此外,对于非string类型的key,对其进行进一步迭代扫描得到其包含的子key,并对子key进行选择删除,可以避免直接删除非string类型的key时容易造成服务器堵塞的问题。
技术领域
本发明涉及移动终端技术领域,尤其涉及一种redis缓存清理方法、服务器及计算机可读存储介质。
背景技术
为了提高服务器的并发量以及吞吐量,服务器架构中都会用到缓存技术,其中redis缓存是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,该缓存技术由于其良好的性能,在服务器行业中用得最广泛。随着用户量的上升,缓存也会从单点过度到集群的方式,以增大缓存的空间。随着时间的推移,特别是服务器功能越来越多,redis缓存中会存在大量的无效数据,为了提高redis空间的利用率,保证服务器的正常运行,一种清空redis无效key的技术就显得越来越重要。
传统的清空缓存的方式是通过设置key的有效时间,当到达有效时间时,redis可以自动清空;还有一种就是知道某个key,然后人工主动进行删除。这些方式对于redis中有海量的key并且没有设置有效时间时,就无法自动判别并进行删除;而且传统的清空方式是直接DELETE掉key,这种方式对于key的value不是很大的情况下是不错的选择,但是当key是个hash结构或者其他集合的结构,并且这些集合中有大量的数据(超过5百万)时,则直接DELETE这些大key会使redis阻塞,从而导致redis故障切换或者redis挂掉,使得整个服务器都不可用。同时,传统的查询key的方式使用keys命令或者smembers命令来查询key,这种方式一样也导致redis阻塞,影响服务器正常运行。同时在以往的redis缓存中,我们一般只能看到redis总的内存使用情况,还没有一种能够简单地列出redis中占用的内存非常多的某些key,不方便我们清空无用的key。
因此,有必要提供一种redis缓存清理方法、服务器及计算机可读存储介质来解决上述技术问题。
发明内容
本发明的主要目的在于提出一种redis缓存清理方法、服务器及计算机可读存储介质,旨在解决对redis缓存进行清理时,容易造成服务器堵塞,且无法只清除占用内存较大的key的技术问题。
首先,为实现上述目的,本发明提供一种redis缓存清理方法,应用于服务器,所述redis缓存清理方法包括以下步骤:
通过scan命令迭代扫描redis缓存中存储的key;
判断各个key的数据类型,其中key的数据类型包括string类型和非string类型;
对于string类型的key,获取所述key中占用内存较大的key并提供给用户以供用户选择性的清理;
对于非string类型的key,通过与所述非string类型对应的扫描命令对所述key进行迭代扫描以得到所述key中包括的子key,获取各个子key中占用内存较大的子key并提供给用户以供用户选择性的清理。
可选地,所述通过与所述非string类型对应的扫描命令对所述key进行迭代扫描以得到所述key中包括的子key的步骤之后还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于努比亚技术有限公司,未经努比亚技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711401389.0/2.html,转载请声明来源钻瓜专利网。