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