日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

【Redis】CentOS7下redis的安装+supervisor管理+允许远程访问+测试部署效果

發(fā)布時(shí)間:2024/2/28 数据库 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Redis】CentOS7下redis的安装+supervisor管理+允许远程访问+测试部署效果 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、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)行操作

import redis Conn = redis.StrictRedis(host='localhost',port='6379',db='0') Conn.set('hello','Hello World~') Conn.get('hello')

五、在 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)建

# -*- coding: utf-8 -*- import redis# 創(chuàng)建連接池 redisPool = redis.ConnectionPool(host='192.168.37.136', port=6379, max_connections=20) # 使用連接池對(duì)象去鏈接redis # r = redis.Redis(connection_pool=redisPool) # 查看數(shù)據(jù) # print(r.get("xxx"))

xxxUtils.py
連接池的使用

def get_value(urls):# 使用連接池對(duì)象去鏈接redisr = redis.Redis(connection_pool=redisPool)if r.exists(urls):result_json = r.get(urls)) # redis命中key,直接取出else: # redis不存在key,則計(jì)算后添加到redisresult_json = calculate_value(urls)r.set(urls, result_json)r.expire(json.dumps(urls), 60 * 60) # 設(shè)置過期時(shí)間 單位:秒

參考: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)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。