#一、redis服務(wù)簡介
防城港網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站設(shè)計等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)公司成立于2013年到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)公司。
redis是一個key-value存儲系統(tǒng)。 和Memcached類似,它支持存儲的value類型相對更多(memcached不支持value類型,只支持key),包括string(字符串)、list(鏈表)、set(集合)和zset(有序集 合)。這些數(shù)據(jù)類型都支持push/pop、add/remove及取交集并集和差集及更豐富的操作,而且這些操作都是原子性的。在此基礎(chǔ)上,redis 支持各種不同方式的排序。與memcached一樣,為了保證效率,數(shù)據(jù)都是緩存在內(nèi)存中。區(qū)別的是redis會周期性的把更新的數(shù)據(jù)寫入磁盤或者把修改 操作寫入追加的記錄文件,并且在此基礎(chǔ)上實現(xiàn)了master-slave(主從)同步。所以redis在斷電仍能保存用戶session緩存,但是memcached斷電后session緩存丟失。
session緩存的作用:session主要用于存儲用戶的登錄信息,用戶登錄請求時,只要查詢到session中有記錄,即判斷為已登錄狀態(tài),無需另外登錄操作,如果用戶信息在session中沒有,則判斷為需要輸入用戶名密碼進行登錄操作,登錄提交的數(shù)據(jù),就必須先到數(shù)據(jù)庫中進行匹配查詢,如果找到用戶信息則數(shù)據(jù)庫返回結(jié)果,并把相應(yīng)用戶信息寫入到session,作為下次用戶登錄狀態(tài)的判斷。
主要存儲session的數(shù)據(jù)庫:redis、memcached(NoSql數(shù)據(jù)庫)
redis&memcached比較:
redis會把數(shù)據(jù)寫入磁盤,并同步保持?jǐn)?shù)據(jù)一直,所以可以斷電后仍會保存session。但是memcached,只是將用戶登錄信息保存在緩存中,如果斷電,則session信息丟失,需要從新進行數(shù)據(jù)庫查詢。正是因為數(shù)據(jù)只保存在緩存,也無需跟磁盤進行主從同步,保持?jǐn)?shù)據(jù)一致,所以用戶登錄狀態(tài)的過程非常快。
另外redis支持key,value等類型的數(shù)據(jù)存儲,而memcached只支持key。所以redis可以應(yīng)用的范圍更多。
redis是一種非關(guān)系型數(shù)據(jù)存儲工具,這區(qū)別于傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(像MySQL等),類似于memcache,并且其內(nèi)部集成了對list(鏈表)、set(集合)的操作,可以很方便快速的處理數(shù)據(jù)(像插入、刪除list 取交集 并集 差集等),這極大的減輕了底層數(shù)據(jù)庫的壓力,并且給用戶更快的響應(yīng)速度。
#二、/etc/redis.conf配置文件
daemonize 是否以后臺進程運行,默認(rèn)為no pidfile 如以后臺進程運行,則需指定一個pid,默認(rèn)為/var/run/redis.pid bind 綁定主機IP,默認(rèn)值為127.0.0.1(注釋) port 監(jiān)聽端口,默認(rèn)為6379 timeout 超時時間,默認(rèn)為300(秒) loglevel 日志記錄等級,有4個可選值,debug,verbose(默認(rèn)值),notice,warning logfile 日志記錄方式,默認(rèn)值為stdout databases 可用數(shù)據(jù)庫數(shù),默認(rèn)值為16,默認(rèn)數(shù)據(jù)庫為0 save <seconds> <changes> 指出在多長時間內(nèi),有多少次更新操作,就將數(shù)據(jù)同步到數(shù)據(jù)文件。這個可以多個條件配合,比如默認(rèn)配置文件中的設(shè)置,就設(shè)置了三個條件。 save 900 1 900秒(15分鐘)內(nèi)至少有1個key被改變 save 300 10 300秒(5分鐘)內(nèi)至少有300個key被改變 save 60 10000 60秒內(nèi)至少有10000個key被改變 rdbcompression 存儲至本地數(shù)據(jù)庫時是否壓縮數(shù)據(jù),默認(rèn)為yes dbfilename 本地數(shù)據(jù)庫文件名,默認(rèn)值為dump.rdb dir 本地數(shù)據(jù)庫存放路徑,默認(rèn)值為 ./ slaveof <masterip> <masterport> 當(dāng)本機為從服務(wù)時,設(shè)置主服務(wù)的IP及端口(注釋) masterauth <master-password> 當(dāng)本機為從服務(wù)時,設(shè)置主服務(wù)的連接密碼(注釋) requirepass 連接密碼(注釋) maxclients 最大客戶端連接數(shù),默認(rèn)不限制(注釋) maxmemory <bytes> 設(shè)置最大內(nèi)存,達到最大內(nèi)存設(shè)置后,Redis會先嘗試清除已到期或即將到期的Key,當(dāng)此方法處理后,任到達最大內(nèi)存設(shè)置,將無法再進行寫入操作。(注釋) appendonly 是否在每次更新操作后進行日志記錄,如果不開啟,可能會在斷電時導(dǎo)致一段時間內(nèi)的數(shù)據(jù)丟失。因為redis本身同步數(shù)據(jù)文件是按上面save條件來同步的,所以有的數(shù)據(jù)會在一段時間內(nèi)只存在于內(nèi)存中。默認(rèn)值為no appendfilename 更新日志文件名,默認(rèn)值為appendonly.aof(注釋) appendfsync 更新日志條件,共有3個可選值。 no表示等操作系統(tǒng)進行數(shù)據(jù)緩存同步到磁盤, always表示每次更新操作后手動調(diào)用fsync()將數(shù)據(jù)寫到磁盤, everysec表示每秒同步一次(默認(rèn)值)。 vm-enabled 是否使用虛擬內(nèi)存,默認(rèn)值為no vm-swap-file 虛擬內(nèi)存文件路徑,默認(rèn)值為/tmp/redis.swap,不可多個Redis實例共享 vm-max-memory 將所有大于vm-max-memory的數(shù)據(jù)存入虛擬內(nèi)存,無論vm-max-memory設(shè)置多小,所有索引數(shù)據(jù)都是內(nèi)存存儲的(Redis的索引數(shù)據(jù) 就是keys),也就是說,當(dāng)vm-max-memory設(shè)置為0的時候,其實是所有value都存在于磁盤。默認(rèn)值為0。
文章題目:redis服務(wù)簡介&&redis.conf配置文件詳解
標(biāo)題網(wǎng)址:http://chinadenli.net/article28/ihopcp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計公司、網(wǎng)站內(nèi)鏈、搜索引擎優(yōu)化、軟件開發(fā)、微信公眾號、網(wǎng)站設(shè)計
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)