您好,登錄后才能下訂單哦!
這篇文章主要介紹“Redis中的Virtual Memory是什么”,在日常操作中,相信很多人在Redis中的Virtual Memory是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Redis中的Virtual Memory是什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
在2.0的測試版本中已經包含VM的測試版代碼,但實際上此功能已經比較成熟.使用方法是將配置文件中的vm-enabled參數設置為yes
簡單來說,Redis Virtual Memory就是Redis將支持一些選項,通過配置,可以讓用戶設置最大使用內存,當超出這個內存的時候,通過LRU(Least Recently Used)類似算法,將一部分數據存入文件中,在內存中只保存使用頻率高的數據.
這個方法和TokyoCabinet的xmsiz參數非常相似.在Redis里,這個配置名叫vm-max-memory
和TC一樣,Redis并不會真的將所有大于vm-max-memory的數據存入內存,無論vm-max-memory設置多小,所有索引數據都是內存存儲的(Redis的索引數據就是keys),也就是說,當vm-max-memory設置為0的時候,其實是所有value都存在于磁盤.
Redis的Virtual Memory是什么
Redis官方文檔對VM的使用提出了一些建議:
當你的key很小而value很大時,使用VM的效果會比較好.因為這樣節約的內存比較大.
當你的key不小時,可以考慮使用一些非常方法將很大的key變成很大的value,比如你可以考慮將key,value組合成一個新的value.
最好使用linux ext3 等對稀疏文件支持比較好的文件系統保存你的swap文件.
vm-max-threads這個參數,可以設置訪問swap文件的線程數,設置最好不要超過機器的核數.如果設置為0,那么所有對swap文件的操作都是串行的.可能會造成比較長時間的延遲,但是對數據完整性有很好的保證.
有了VM功能,Redis終于擺脫了受內存容量限制的噩夢了,似乎我們可以稱其為Redis數據庫了,我們還可以想象又有多少新的用法可以產生.當然,希望這一功能不會對Redis原有的非常牛B的內存存儲性能有所影響。
到此,關于“Redis中的Virtual Memory是什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。