安裝學(xué)習(xí)博客地址:
http://www.cnblogs.com/it-cen/p/4295984.html
http://blog.csdn.net/haniyan/article/details/23122487
redids下載地址
windows: https://github.com/MSOpenTech/redis/releases
linux : http://redis.io
php-redis下載地址
windows : https://pecl.php.net/package/redis
linux:yum -y install php-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)槠溆小俺志没惫δ?(2)存儲(chǔ)的數(shù)據(jù)有“結(jié)構(gòu)”脂崔,對(duì)于memcache來(lái)說砌左,存儲(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
新手安裝步驟
1瓶蝴、先到Redis官網(wǎng)(http://redis.io)下載redis安裝包
wget http://download.redis.io/releases/redis-3.2.8.tar.gz
2. 在 /opt/目錄下新建目錄 redis/
創(chuàng)建壓縮包目錄,并將安裝包放到移動(dòng)到redis目錄
創(chuàng)建redis安裝目錄&修改目錄權(quán)限766
編譯&安裝
cd /opt
mkdir/redis
cd redis
mkdir redis_tar
cd redis_tar
wget http://download.redis.io/releases/redis-3.2.8.tar.gz
tar -zxvf redis-3.2.8.tar.gz
ls
見圖1
cd ..
mkdir redis_online <=> /opt/redis/redis_online
chmod 766 redis_online
cd /opt/redis/redis-3.2.8/
make
cd src
make install PREFIX=/opt/redis/redis_online
(如果報(bào)錯(cuò)租幕,使用下面方式安裝)
make MALLOC=libc
cd src
make install PREFIX=/opt/redis/redis_online
3.將安裝包里的配置文件移動(dòng)到安裝目錄下的etc目錄(如果沒有etc目錄,新建)
mkdir /opt/redis/redis_online/etc
cp /opt/redis/redis_tar/redis-3.2.8/redis.conf /opt/redis/redis_online/etc/redis.conf
4.配置redis啟動(dòng)配置文件
bind 127.0.0.1 綁定允許訪問的IP 允許任意IP訪問男窟,需要注釋掉
protected-mode yes 保護(hù)模式蝎宇,允許外部IP訪問時(shí)祷安,需要改為no
daemonize yes 后臺(tái)運(yùn)行(以守護(hù)進(jìn)程運(yùn)行)
5.啟動(dòng)redis
/opt/redis/redis_online/bin/redis-server /opt/redis/redis_online/etc/redis.conf
前面是啟動(dòng)redis服務(wù)器,后面是指定啟動(dòng)配置文件
見圖2
6.默認(rèn)情況凉唐,redis不是在后臺(tái)運(yùn)行,我們使用時(shí)要把redis放到后臺(tái)運(yùn)行
vim /opt/redis/redis_online/etc/redis.conf
將daemonize的值改為yes (以守護(hù)進(jìn)程運(yùn)行)
7.重啟redis
/opt/redis/redis_online/bin/redis-server /opt/redis/redis_online/etc/redis.conf
8.客戶端連接
/opt/redis/redis_online/bin/redis-cli
見圖3
9、停止redis實(shí)例
/usr/local/redis/bin/redis-cli shutdown
或者
pkill redis-server
10台囱、讓redis開機(jī)自啟
vim /etc/rc.local 加入 /opt/redis/redis_online/bin/redis-server /opt/redis/redis_online/etc/redis-conf
或者
echo "/opt/redis/redis_online/bin/redis-server /opt/redis/redis_online/etc/redis-conf" >> /etc/rc.local
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)程
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ù)量
圖1
image.png
圖2
image.png
圖3
image.png
安裝&使用QA
遇到問題
1./bin/sh: cc: command not found make[1]: *** [adlist.o] Error 127
原因:
gcc是用來(lái)編譯各種源代碼的軟件,所謂GCC包咱旱,就相當(dāng)于安裝GCC的安裝包啦,類似[WIN]下的setup.exe
然后[RPM]是不需要GCC就可以裝的
不過[TAR]都是[源代碼]鲜侥,你得自己編譯才能裝诸典,所以一定要裝GCC,不然無(wú)法裝
哪里有GCC…好問題舀寓!gcc.gnu.org不過我認(rèn)為,正常的[LINUX]發(fā)行版都有自己的程序管理軟件互墓,你進(jìn)管理軟件搜索GCC蒋搜,應(yīng)該就可以裝了至于看有沒有GCC,去/usr/[bin]下育谬,如果有GCC這個(gè)文件帮哈,說明你有裝。沒有說明沒裝宿刮。
解決辦法: A/B兩種方法都可以解決,B方法安裝的類庫(kù)更多
A: yum -y install gcc
B: yum -y install gcc gcc-c++ libstdc++-devel
Q: 安裝redis 報(bào)錯(cuò)
#make
cd src && make all
make[1]: Entering directory `/software/redis-2.8.8/src'
CC adlist.o
In file included from adlist.c:34:
zmalloc.h:50:31: error: jemalloc/jemalloc.h: No such file or directory
zmalloc.h:55:2: error: #error "Newer version of jemalloc required"
make[1]: *** [adlist.o] Error 1
make[1]: Leaving directory `/software/redis-2.8.8/src'
make: *** [all] Error 2
原因: 不知道
A:
make MALLOC=libc
Q:
# make test
cd src && make test
make[1]: Entering directory `/software/redis-2.8.8/src'
You need tcl 8.5 or newer in order to run the Redis test
make[1]: *** [test] Error 1
make[1]: Leaving directory `/software/redis-2.8.8/src'
make: *** [test] Error 2
A:安裝tcl
ubuntu apt-get install ctl
centos yum -y install ctl
A.修改配置文件目錄
mkdir /etc/redis
cp redis.conf /etc/redis/redis.conf
redis使用命令
//設(shè)置變量
set test1 1
set test2 abc
//獲取變量
get test1
get test2