您好,登錄后才能下訂單哦!
Redis是一款高性能分布式內存數據庫,支持數據持久化(可以把內存里的數據保存到硬盤中),支持list、hash、set、zset數據類型,支持master-salve模式(主從)。
部署redis服務
1、下載redis源碼包,源碼編譯安裝
tar zxf redis-4.0.8.tar.gz
cd redis-4.0.8
make
make install
2、初始化配置(redis服務端口號,主配置文件,數據庫目錄,pid文件,啟動程序)
./utils/install_server.sh #初始化
3、啟動,停止服務(/etc/init.d/redis_6379 此文件是安裝redis后自帶腳本,用它可以啟動停止服務,也可查看服務狀態)
/etc/init.d/redis_6379 start
/etc/init.d/redis_6379 stop
/etc/init.d/redis_6379 status
redis服務的啟動和停止都是通過腳本來執行的,當修改了配置文件里面的 地址 端口 密碼 則在/etc/init.d/redis_6379 腳本中需要修改這些參數,因為這個腳本也是使用redis的默認參數來啟動或則停止的。
redis基本命令
redis-cli #連接redis服務
備注:redis-cli 不寫任何參數默認使用本地環回口地址127.0.0.1和默認端口6379連接,如果修改了配置文件里的監聽地址和端口則需要跟相應的參數來連接redis服務。比如我們修改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 #設置name的有效時間為10秒
del name #刪除name變量
flushall #刪除所有變量
save #保存內存的數據到硬盤
shutdown #關閉redis服務
配置文件解析
/etc/redis/6379.conf
prot 6379 #監聽端口
bind 127.0.0.1 #監聽ip地址,如果需要遠程登陸需要改成本地網卡的ip地址,不能使用本地回環地址;如有多個地址用空格隔開
tcp-backlog 511 #redis允許tcp連接的總數(已建立連接的個數+正在連接的個數)
timeout 0 #連接超時時間(0為永不不超時,timeout 30 代表30秒就端開)
tcp-keepalive 300 #長連接時間(每隔300秒檢查一次連接是否還在)
daemonize yes #守護進程方式運行(就是一直在內存里運行,no是當連接的時候才會在內存里運行)
databases 16 #數據庫個數
logfile /var/log/redis_6379.log #pid文件
maxclients 10000 #redis服務能夠處理并發連接數
dir /var/lib/redis/6379 #數據庫目錄(redis數據文件保存在此目錄下,名字為dump.rdb)
requirepass 123456 #設置連接redis服務的密碼(默認不設置,因為redis是用內存存儲數據,它是架設在linux上,此服務是通過防火墻來控制的,它不負責安全)
內存清除策略
– volatile-lru 最近最少使用 (針對設置了過期時間的 key )
– allkeys-lru 刪除最少使用的 key
– volatile-random 在設置了過期的 key 里隨機移除
– allkeys-random 隨機移除 key
– volatile-ttl (minor TTL) 移除最近過期的 key
– noeviction 不刪除 寫滿時報錯
選項默認設置
– maxmemory <bytes> // 最大內存(默認單位是bytes)
– maxmemory-policy [noeviction] // 定義使用的策略 [ ] 里的策略可修改
– maxmemory-samples 5 // 選取模板數據的個數(針對 lru 和 ttl 策略) 數字越大選的越精準,對cpu消耗就大
部署LNMP+Redis
1、搭建LNMP
a、源碼編譯nginx
b、并配置nginx支持動態頁面
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要解釋那個網頁文件,獲取客戶端訪問的頁面
include fastcgi_params;
}
c、安裝mysql
d、安裝php-fpm
2、部署PHP支持Redis
a、安裝redis服務
b、默認php是不能連接redis,需要安裝支持php連接redis模塊的包php-redis
先安裝php-devel軟件包會有/usr/bin/phpize這個命令,然后執行/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 #產看php支持的模塊
修改php配置文件
vim /etc/php/ini
extension_dir = "/usr/bin/php-config" #到那個路徑下找模塊
extension = "redis.so" #模塊名叫什么
重啟php-fpm服務測試
php連接redis服務php腳本頁面
<?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的值
?>
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。