十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
這篇文章給大家分享的是有關Redis數(shù)據(jù)庫的簡單介紹的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。

1.Redis數(shù)據(jù)庫介紹
redis數(shù)據(jù)庫是一種基于內(nèi)存可持久化的鍵值對非關系性數(shù)據(jù)庫。為了保證效率,redis的數(shù)據(jù)都是緩存在內(nèi)存中的,區(qū)別的是redis會周期性的把更新的數(shù)據(jù)寫入磁盤或者把修改操作寫入追加的記錄文件,并且在此基礎上實現(xiàn)了master-slave(主從)同步。
Redis支持主從同步。數(shù)據(jù)可以從主服務器向任意數(shù)量的從服務器上同步,從服務器可以是關聯(lián)其他從服務器的主服務器。這使得Redis可執(zhí)行單層樹復制。存盤可以有意無意的對數(shù)據(jù)進行寫操作。由于完全實現(xiàn)了發(fā)布/訂閱機制,使得從數(shù)據(jù)庫在任何地方同步樹時,可訂閱一個頻道并接收主服務器完整的消息發(fā)布記錄。同步對讀取操作的可擴展性和數(shù)據(jù)冗余很有幫助。
Redis是基于內(nèi)存管理的數(shù)據(jù)庫,所以內(nèi)存開銷方面需要進一步優(yōu)化:
①.首先最重要的一點是不要開啟Redis的VM選項,即虛擬內(nèi)存功能,這個本來是作為Redis存儲超出物理內(nèi)存數(shù)據(jù)的一種數(shù)據(jù)在內(nèi)存與磁盤換入換出的一個持久化策略,但是其內(nèi)存管理成本也非常的高,并且我們后續(xù)會分析此種持久化策略并不成熟,所以要關閉VM功能,請檢查你的redis.conf文件中 vm-enabled 為 no。
②.其次最好設置下redis.conf中的maxmemory選項,該選項是告訴Redis當使用了多少物理內(nèi)存后就開始拒絕后續(xù)的寫入請求,該參數(shù)能很好的保護好你的Redis不會因為使用了過多的物理內(nèi)存而導致swap,最終嚴重影響性能甚至崩潰。
③.如果在Redis內(nèi)部存儲的大部分數(shù)據(jù)是數(shù)值型的話,Redis內(nèi)部采用了一個shared integer的方式來省去分配內(nèi)存的開銷,即在系統(tǒng)啟動時先分配一個從1~n 那么多個數(shù)值對象放在一個池子中,如果存儲的數(shù)據(jù)恰好是這個數(shù)值范圍內(nèi)的數(shù)據(jù),則直接從池子里取出該對象,并且通過引用計數(shù)的方式來共享,這樣在系統(tǒng)存儲了大量數(shù)值下,也能一定程度上節(jié)省內(nèi)存并且提高性能
2.redis數(shù)據(jù)存儲位置
我們知道redis是基于內(nèi)存存儲數(shù)據(jù)的,那么數(shù)據(jù)在掉電后會造成數(shù)據(jù)丟失,我們可以亦通過配置生成相關的日志文檔以及將數(shù)據(jù)在磁盤進行備份。這樣下次開機是可以保證數(shù)據(jù)仍然可以拿到。
3.redis數(shù)據(jù)庫常用數(shù)據(jù)類型已經(jīng)相關操作
過期時間設置常用操作:
EXPIRE 將key的生存時間設置為ttl秒
PEXPIRE 將key的生成時間設置為ttl毫秒
EXPIREAT 將key的過期時間設置為timestamp所代表的的秒數(shù)的時間戳
PEXPIREAT 將key的過期時間設置為timestamp所代表的的毫秒數(shù)的時間戳
感謝各位的閱讀!關于Redis數(shù)據(jù)庫的簡單介紹就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。