Redis基本知識(shí)、安裝、部署、配置筆記
基本知識(shí)
1、Redis的數(shù)據(jù)類型:
字符串、列表(lists)、集合(sets)、有序集合(sorts sets)、哈希表(hashs)
2、Redis和memcache相比的獨(dú)特之處:
(1)redis可以用來(lái)做存儲(chǔ)(storge)、而memcache是來(lái)做緩存(cache)。這個(gè)特點(diǎn)主要是因?yàn)槠溆小俺志没惫δ?br />
(2)存儲(chǔ)的數(shù)據(jù)有“結(jié)構(gòu)”,對(duì)于memcache來(lái)說(shuō),存儲(chǔ)的數(shù)據(jù),只有一種類型——“字符串”,而redis則可以存儲(chǔ)字符串、鏈表、集合、有序集合、哈序結(jié)構(gòu)
3、持久化的兩種方式:
Redis將數(shù)據(jù)存儲(chǔ)于內(nèi)存中,或被配置為使用虛擬內(nèi)存。
實(shí)現(xiàn)數(shù)據(jù)持久化的兩種方式:
(1)使用截圖的方式,將內(nèi)存中的數(shù)據(jù)不斷寫入磁盤(性能高,但可能會(huì)引起一定程度的數(shù)據(jù)丟失)
(2)使用類似mysql的方式,記錄每次更新的日志
4、Redis的主從同步:對(duì)提高讀取性能非常有益
5、Redis服務(wù)端的默認(rèn)端口是6379
接下來(lái)我們來(lái)安裝Redis
1、先到Redis官網(wǎng)(redis.io)下載redis安裝包
2、將其下載到我的/lamp目錄下
3、解壓并進(jìn)入其目錄
4、編譯源程序
make
cd src
make install PREFIX=/usr/local/redis
5、將配置文件移動(dòng)到redis目錄
6、啟動(dòng)redis服務(wù)
7、默認(rèn)情況,Redis不是在后臺(tái)運(yùn)行,我們需要把redis放在后臺(tái)運(yùn)行
vim /usr/local/redis/etc/redis.conf
將daemonize的值改為yes
8、客戶端連接
/usr/local/redis/bin/redis-cli
9、停止redis實(shí)例
/usr/local/redis/bin/redis-cli shutdown
或者
pkill redis-server
10、讓redis開機(jī)自啟
vim /etc/rc.local
加入
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis-conf
11、接下來(lái)我們看看/usr/local/redis/bin目錄下的幾個(gè)文件時(shí)什么
redis-benchmark:redis性能測(cè)試工具
redis-check-aof:檢查aof日志的工具
redis-check-dump:檢查rdb日志的工具
redis-cli:連接用的客戶端
redis-server:redis服務(wù)進(jìn)程
Redis的配置
daemonize:如需要在后臺(tái)運(yùn)行,把該項(xiàng)的值改為yes
pdifile:把pid文件放在/var/run/redis.pid,可以配置到其他地址
bind:指定redis只接收來(lái)自該IP的請(qǐng)求,如果不設(shè)置,那么將處理所有請(qǐng)求,在生產(chǎn)環(huán)節(jié)中最好設(shè)置該項(xiàng)
port:監(jiān)聽端口,默認(rèn)為6379
timeout:設(shè)置客戶端連接時(shí)的超時(shí)時(shí)間,單位為秒
loglevel:等級(jí)分為4級(jí),debug,revbose,notice和warning。生產(chǎn)環(huán)境下一般開啟notice
logfile:配置log文件地址,默認(rèn)使用標(biāo)準(zhǔn)輸出,即打印在命令行終端的端口上
database:設(shè)置數(shù)據(jù)庫(kù)的個(gè)數(shù),默認(rèn)使用的數(shù)據(jù)庫(kù)是0
save:設(shè)置redis進(jìn)行數(shù)據(jù)庫(kù)鏡像的頻率
rdbcompression:在進(jìn)行鏡像備份時(shí),是否進(jìn)行壓縮
dbfilename:鏡像備份文件的文件名
dir:數(shù)據(jù)庫(kù)鏡像備份的文件放置的路徑
slaveof:設(shè)置該數(shù)據(jù)庫(kù)為其他數(shù)據(jù)庫(kù)的從數(shù)據(jù)庫(kù)
masterauth:當(dāng)主數(shù)據(jù)庫(kù)連接需要密碼驗(yàn)證時(shí),在這里設(shè)定
requirepass:設(shè)置客戶端連接后進(jìn)行任何其他指定前需要使用的密碼
maxclients:限制同時(shí)連接的客戶端數(shù)量
maxmemory:設(shè)置redis能夠使用的最大內(nèi)存
appendonly:開啟appendonly模式后,redis會(huì)把每一次所接收到的寫操作都追加到appendonly.aof文件中,當(dāng)redis重新啟動(dòng)時(shí),會(huì)從該文件恢復(fù)出之前的狀態(tài)
appendfsync:設(shè)置appendonly.aof文件進(jìn)行同步的頻率
vm_enabled:是否開啟虛擬內(nèi)存支持
vm_swap_file:設(shè)置虛擬內(nèi)存的交換文件的路徑
vm_max_momery:設(shè)置開啟虛擬內(nèi)存后,redis將使用的最大物理內(nèi)存的大小,默認(rèn)為0
vm_page_size:設(shè)置虛擬內(nèi)存頁(yè)的大小
vm_pages:設(shè)置交換文件的總的page數(shù)量
vm_max_thrrads:設(shè)置vm IO同時(shí)使用的線程數(shù)量
相關(guān)文章
淺析四種常見的Javascript聲明循環(huán)變量的書寫方式
這篇文章主要介紹了四種常見的聲明循環(huán)變量的書寫方式,對(duì)其進(jìn)行簡(jiǎn)單的分析和比較,需要的朋友可以參考下2015-10-10使用RequireJS優(yōu)化JavaScript引用代碼的方法
這篇文章主要介紹了使用RequireJS優(yōu)化JavaScript引用代碼的方法,RequireJS是一款人氣JS庫(kù),需要的朋友可以參考下2015-07-07JavaScript高級(jí)程序設(shè)計(jì)(第3版)學(xué)習(xí)筆記8 js函數(shù)(中)
接著看函數(shù)——這個(gè)具有魔幻色彩的對(duì)象。在上篇文章中說(shuō)函數(shù)內(nèi)部屬性時(shí),還遺留了一個(gè)this內(nèi)部屬性沒(méi)有解釋,不過(guò)在說(shuō)this之前,我想先說(shuō)一說(shuō)執(zhí)行環(huán)境和作用域的概念2012-10-10基于JavaScript 下namespace 功能的簡(jiǎn)單分析
前些天在剝離 百度隨心聽 的播放器引擎時(shí),看到了一個(gè)namespace方法,覺(jué)得新奇,當(dāng)然只是對(duì)于我自己而言,我入門js不久,經(jīng)驗(yàn)尚淺2013-07-07Javascript基礎(chǔ)教程之?dāng)?shù)組 array
Array是JavaScript中常用的類型,并且JavaScript中的數(shù)組和其他語(yǔ)言的數(shù)組有比較大的區(qū)別。JavaScript中數(shù)組中存放的數(shù)據(jù)類型不一定相同,而且數(shù)組的長(zhǎng)度也是可改變的。2015-01-01Javascript基礎(chǔ)教程之?dāng)?shù)據(jù)類型 (字符串 String)
javascript一共有9種數(shù)據(jù)類型,分別是字符串 String、數(shù)值型 Number、布爾型 Boolean、未定義 Undefine、空值 Null、對(duì)象 Object、引用Refernce、列表型 List、完成型 Completion,我們今天首先來(lái)看看(字符串 String)2015-01-01JavaScript sub方法入門實(shí)例(把字符串顯示為下標(biāo))
這篇文章主要介紹了JavaScript sub方法入門實(shí)例,sub方法用于把字符串顯示為下標(biāo),需要的朋友可以參考下2014-10-10一文帶你了解JavaScript基礎(chǔ)之深拷貝和淺拷貝
這篇文章主要為大家介紹了JavaScript深拷貝和淺拷貝,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助2021-12-12