基本知識
1、Redis的數(shù)據(jù)類型:
字符串、列表(lists)、集合(sets)、有序集合(sorts sets)、哈希表(hashs)
2、Redis和memcache相比的獨特之處:
(1)redis可以用來做存儲(storge)、而memcache是來做緩存(cache)。這個特點主要是因為其有“持久化”功能
(2)存儲的數(shù)據(jù)有“結構”,對于memcache來說,存儲的數(shù)據(jù),只有一種類型——“字符串”,而redis則可以存儲字符串、鏈表、集合、有序集合、哈序結構
3、持久化的兩種方式:
Redis將數(shù)據(jù)存儲于內存中,或被配置為使用虛擬內存。
實現(xiàn)數(shù)據(jù)持久化的兩種方式:
(1)使用截圖的方式,將內存中的數(shù)據(jù)不斷寫入磁盤(性能高,但可能會引起一定程度的數(shù)據(jù)丟失)
(2)使用類似mysql的方式,記錄每次更新的日志
4、Redis的主從同步:對提高讀取性能非常有益
5、Redis服務端的默認端口是6379
接下來我們來安裝Redis
1、先到Redis官網(wǎng)(redis.io)下載redis安裝包
2、將其下載到我的/lamp目錄下
3、解壓并進入其目錄
4、編譯源程序
make
cd src
make install PREFIX=/usr/local/redis
5、將配置文件移動到redis目錄
6、啟動redis服務
7、默認情況,Redis不是在后臺運行,我們需要把redis放在后臺運行
vim /usr/local/redis/etc/redis.conf
將daemonize的值改為yes
8、客戶端連接
/usr/local/redis/bin/redis-cli
9、停止redis實例
/usr/local/redis/bin/redis-cli shutdown
或者
pkill redis-server
10、讓redis開機自啟
vim /etc/rc.local
加入
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis-conf
11、接下來我們看看/usr/local/redis/bin目錄下的幾個文件時什么
redis-benchmark:redis性能測試工具
redis-check-aof:檢查aof日志的工具
redis-check-dump:檢查rdb日志的工具
redis-cli:連接用的客戶端
redis-server:redis服務進程
Redis的配置
daemonize:如需要在后臺運行,把該項的值改為yes
pdifile:把pid文件放在/var/run/redis.pid,可以配置到其他地址
bind:指定redis只接收來自該IP的請求,如果不設置,那么將處理所有請求,在生產(chǎn)環(huán)節(jié)中最好設置該項
port:監(jiān)聽端口,默認為6379
timeout:設置客戶端連接時的超時時間,單位為秒
loglevel:等級分為4級,debug,revbose,notice和warning。生產(chǎn)環(huán)境下一般開啟notice
logfile:配置log文件地址,默認使用標準輸出,即打印在命令行終端的端口上
database:設置數(shù)據(jù)庫的個數(shù),默認使用的數(shù)據(jù)庫是0
save:設置redis進行數(shù)據(jù)庫鏡像的頻率
rdbcompression:在進行鏡像備份時,是否進行壓縮
dbfilename:鏡像備份文件的文件名
dir:數(shù)據(jù)庫鏡像備份的文件放置的路徑
slaveof:設置該數(shù)據(jù)庫為其他數(shù)據(jù)庫的從數(shù)據(jù)庫
masterauth:當主數(shù)據(jù)庫連接需要密碼驗證時,在這里設定
requirepass:設置客戶端連接后進行任何其他指定前需要使用的密碼
maxclients:限制同時連接的客戶端數(shù)量
maxmemory:設置redis能夠使用的最大內存
appendonly:開啟appendonly模式后,redis會把每一次所接收到的寫操作都追加到appendonly.aof文件中,當redis重新啟動時,會從該文件恢復出之前的狀態(tài)
appendfsync:設置appendonly.aof文件進行同步的頻率
vm_enabled:是否開啟虛擬內存支持
vm_swap_file:設置虛擬內存的交換文件的路徑
vm_max_momery:設置開啟虛擬內存后,redis將使用的最大物理內存的大小,默認為0
vm_page_size:設置虛擬內存頁的大小
vm_pages:設置交換文件的總的page數(shù)量
vm_max_thrrads:設置vm IO同時使用的線程數(shù)量