[發明專利]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.szxzyx.cn/pat/books/201711401389.0/2.html,轉載請聲明來源鉆瓜專利網。





