【Redis】CentOS7下redis的安装+supervisor管理+允许远程访问+测试部署效果
一、redis的安裝
第一步:下載redis安裝包
wget http://download.redis.io/releases/redis-4.0.6.tar.gz
第二步:解壓壓縮包
tar -zxvf redis-4.0.6.tar.gz
第三步:yum安裝gcc依賴(如果沒有安裝gcc的話)
yum install gcc
第四步:跳轉(zhuǎn)到redis解壓目錄下
cd redis-4.0.6
第五步:編譯安裝
make MALLOC=libc
將/usr/local/redis-4.0.6/src目錄下的文件加到/usr/local/bin目錄
cd src && make install
常用命令:
redis啟動(dòng) redis-server
redis關(guān)閉 redis-cli -h 127.0.0.1 -p 6379 shutdown
二、使用supervisor管理redis啟動(dòng)
redis 的 Supervisor 配置
使用 supervisorctl reload 載入新的 Redis 配置后,Redis 進(jìn)程便讓 Supervisor 啟動(dòng)了起來。如果需要指定 Redis 的輸出日志,可以通過stdout_logfile配置選項(xiàng)指定。
由于 supervisor 管理的進(jìn)程不能設(shè)置為 daemon 模式,故如果 redis 無法正常啟動(dòng),可以查看一下 Redis 的配置,并將daemonize選項(xiàng)設(shè)置為 no。
# /etc/supervisord.conf [program:redis] command=/home/hanquan/redis-5.0.3/src/redis-server /home/hanquan/redis-5.0.3/redis.conf autostart=true autorestart=true startsecs=3常用supervisor命令:
supervisord -c /etc/supervisord.conf 指定配置文件開啟supervisor supervisorctl status 查看進(jìn)程狀態(tài) supervisorctl shutdown 關(guān)閉supervisordsupervisorctl start all 啟動(dòng)所有進(jìn)程 supervisorctl restart all 重啟所有進(jìn)程 supervisorctl stop all 停止所有進(jìn)程在 supervisor 的管理下,redis 已經(jīng)在后臺(tái)啟動(dòng)。
那么,我該怎么與后臺(tái)運(yùn)行中的 redis 交互呢?
- redis-server用來啟動(dòng) redis 的服務(wù)端。
- redis-cli意思就是 redis-client,用來啟動(dòng) redis 的客戶端。
在 src 目錄下,有個(gè)文件redis-cli,這個(gè)文件就是用來連接已經(jīng)啟動(dòng)的 redis 服務(wù)的。使用redis-cli命令連接本機(jī)的 redis 服務(wù):
[root@localhost src]# redis-cli 127.0.0.1:6379> set hello world OK 127.0.0.1:6379> get hello "world"三、允許在其他機(jī)器上遠(yuǎn)程連接 redis
在 redis.conf 配置文件中進(jìn)行以下兩處修改:
1、找到bind 127.0.0.1,加個(gè)#注釋掉
2、查找protected-mode yes 把yes修改為no
3、重啟 redis 即可
四、使用python對(duì)redis進(jìn)行操作
安裝redis模塊 pip install redis
使用python對(duì)redis進(jìn)行操作
五、在 Python 中使用 Redis 連接池
redis.py 使用 ConnectionPool 來管理對(duì)一個(gè) redis server 的連接,避免每次建立、釋放連接的開銷。默認(rèn),每個(gè) Redis 實(shí)例都會(huì)維護(hù)一個(gè)自己的連接池??梢灾苯咏⒁粋€(gè)連接池,然后作為參數(shù)Redis,這樣就可以實(shí)現(xiàn)多個(gè)Redis實(shí)例共享一個(gè)連接池。
如果想要并發(fā)操作,就需要寫成單列,以模塊導(dǎo)入就是一個(gè)單例,把他做成單例,寫在一個(gè)文件里面,import它,就是一個(gè)單例
RedisPool.py
連接池的創(chuàng)建
xxxUtils.py
連接池的使用
參考:redis學(xué)習(xí) (key)鍵,Python操作redis 鍵 (二)
六、測(cè)試效果
Flask項(xiàng)目,supervisor+nginx+gunicorn,虛擬機(jī)內(nèi)部署,附配置:
1、首次訪問頁面
cpu 使用情況
2、第二次訪問,直接redis中取
完全加載整個(gè)頁面的時(shí)間,由首次訪問的 150秒 縮短至 5.82秒 ,可以看到速度提升顯著
總結(jié)
以上是生活随笔為你收集整理的【Redis】CentOS7下redis的安装+supervisor管理+允许远程访问+测试部署效果的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL出现Waiting for t
- 下一篇: 【MySQL】触发器:让指定某一字段的值