Redis是一款高性能分布式內(nèi)存數(shù)據(jù)庫,支持數(shù)據(jù)持久化(可以把內(nèi)存里的數(shù)據(jù)保存到硬盤中),支持list、hash、set、zset數(shù)據(jù)類型,支持master-salve模式(主從)。
創(chuàng)新互聯(lián)建站是一家專注于成都網(wǎng)站設(shè)計、網(wǎng)站建設(shè)與策劃設(shè)計,荔浦網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)建站做網(wǎng)站,專注于網(wǎng)站建設(shè)十余年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:荔浦等地區(qū)。荔浦做網(wǎng)站價格咨詢:028-86922220部署redis服務(wù)
1、下載redis源碼包,源碼編譯安裝
tar zxf redis-4.0.8.tar.gz
cd redis-4.0.8
make
make install
2、初始化配置(redis服務(wù)端口號,主配置文件,數(shù)據(jù)庫目錄,pid文件,啟動程序)
./utils/install_server.sh #初始化
3、啟動,停止服務(wù)(/etc/init.d/redis_6379 此文件是安裝redis后自帶腳本,用它可以啟動停止服務(wù),也可查看服務(wù)狀態(tài))
/etc/init.d/redis_6379 start
/etc/init.d/redis_6379 stop
/etc/init.d/redis_6379 status
redis服務(wù)的啟動和停止都是通過腳本來執(zhí)行的,當(dāng)修改了配置文件里面的 地址 端口 密碼 則在/etc/init.d/redis_6379 腳本中需要修改這些參數(shù),因為這個腳本也是使用redis的默認參數(shù)來啟動或則停止的。
redis基本命令
redis-cli #連接redis服務(wù)
備注:redis-cli 不寫任何參數(shù)默認使用本地環(huán)回口地址127.0.0.1和默認端口6379連接,如果修改了配置文件里的監(jiān)聽地址和端口則需要跟相應(yīng)的參數(shù)來連接redis服務(wù)。比如我們修改redis可以允許其它用戶可以使用6352端口遠程登陸,則修改配置文件里的 bind 192.168.4.52 和 port 6352 ,使用 redis-cli -h 192.168.4.52 -p 6352 來登陸,如使用了密碼則需加 -a選項 后面跟密碼登陸。
ping #測試連接是否成功(返回pong說明成功)
set name lisi #存儲name為lisi
get name #獲取name的值
select 2 #切換到2庫(redis默認有16個庫 0~15)
keys * #打印所有變量
keys a? #打印指定表量(?代表一個字符)
EXISTS name #測試name是否存在(存在顯示1,不存在顯示0)
ttl name #查看name的生存時間(就是有效期是多久)
type name #查看name的類型
move name 2 #把name移動到2庫里
expire name 10 #設(shè)置name的有效時間為10秒
del name #刪除name變量
flushall #刪除所有變量
save #保存內(nèi)存的數(shù)據(jù)到硬盤
shutdown #關(guān)閉redis服務(wù)
配置文件解析
/etc/redis/6379.conf
prot 6379 #監(jiān)聽端口
bind 127.0.0.1 #監(jiān)聽ip地址,如果需要遠程登陸需要改成本地網(wǎng)卡的ip地址,不能使用本地回環(huán)地址;如有多個地址用空格隔開
tcp-backlog 511 #redis允許tcp連接的總數(shù)(已建立連接的個數(shù)+正在連接的個數(shù))
timeout 0 #連接超時時間(0為永不不超時,timeout 30 代表30秒就端開)
tcp-keepalive 300 #長連接時間(每隔300秒檢查一次連接是否還在)
daemonize yes #守護進程方式運行(就是一直在內(nèi)存里運行,no是當(dāng)連接的時候才會在內(nèi)存里運行)
databases 16 #數(shù)據(jù)庫個數(shù)
logfile /var/log/redis_6379.log #pid文件
maxclients 10000 #redis服務(wù)能夠處理并發(fā)連接數(shù)
dir /var/lib/redis/6379 #數(shù)據(jù)庫目錄(redis數(shù)據(jù)文件保存在此目錄下,名字為dump.rdb)
requirepass 123456 #設(shè)置連接redis服務(wù)的密碼(默認不設(shè)置,因為redis是用內(nèi)存存儲數(shù)據(jù),它是架設(shè)在linux上,此服務(wù)是通過防火墻來控制的,它不負責(zé)安全)
內(nèi)存清除策略
– volatile-lru 最近最少使用 (針對設(shè)置了過期時間的 key )
– allkeys-lru 刪除最少使用的 key
– volatile-random 在設(shè)置了過期的 key 里隨機移除
– allkeys-random 隨機移除 key
– volatile-ttl (minor TTL) 移除最近過期的 key
– noeviction 不刪除 寫滿時報錯
選項默認設(shè)置
– maxmemory
– maxmemory-policy [noeviction] // 定義使用的策略 [ ] 里的策略可修改
– maxmemory-samples 5 // 選取模板數(shù)據(jù)的個數(shù)(針對 lru 和 ttl 策略) 數(shù)字越大選的越精準(zhǔn),對cpu消耗就大
部署LNMP+Redis
1、搭建LNMP
a、源碼編譯nginx
b、并配置nginx支持動態(tài)頁面
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name; #SCRIPT_FILENAME 這里面是存客戶端訪問的php文件名叫什么, $document_root 告訴php要解釋那個網(wǎng)頁文件,獲取客戶端訪問的頁面
include fastcgi_params;
}
c、安裝mysql
d、安裝php-fpm
2、部署PHP支持Redis
a、安裝redis服務(wù)
b、默認php是不能連接redis,需要安裝支持php連接redis模塊的包php-redis
先安裝php-devel軟件包會有/usr/bin/phpize這個命令,然后執(zhí)行/usr/bin/phpize會在/usr/bin/下生成php-config配置文件,因為后面配置php-redis需要獲取php的配置信息也就是這個配置文件
php-redis是源碼包,需源碼編譯安裝
tar -zxf php-redis-2.2.4.tar.gz
cd php-redis-2.2.4/
./configure --with-php-config=/usr/bin/php-config #配置支持php-config的配置
make
make install
安裝完成之后會輸出模塊安裝路徑信息,我們修改php配置文件時需要寫此路徑,告訴它在此路徑下找我們安裝的模塊。
c、測試配置
php -m #產(chǎn)看php支持的模塊
修改php配置文件
vim /etc/php/ini
extension_dir = "/usr/bin/php-config" #到那個路徑下找模塊
extension = "redis.so" #模塊名叫什么
重啟php-fpm服務(wù)測試
php連接redis服務(wù)php腳本頁面
$redis = new redis(); #生成redis類的對象,生成之后可以用這個類里面的方法
$redis->connect('127.0.0.1',6379); #連接redis的ip地址端口號
$redis->set('redistest','666666'); #給redistest賦值為666666
echo $redis->get('redistest'); #獲取redistest的值
?>
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。