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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

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

發布時間:2024/2/28 数据库 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【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

第四步:跳轉到redis解壓目錄下
cd redis-4.0.6

第五步:編譯安裝
make MALLOC=libc
將/usr/local/redis-4.0.6/src目錄下的文件加到/usr/local/bin目錄
cd src && make install

常用命令:
redis啟動 redis-server
redis關閉 redis-cli -h 127.0.0.1 -p 6379 shutdown

二、使用supervisor管理redis啟動

redis 的 Supervisor 配置

使用 supervisorctl reload 載入新的 Redis 配置后,Redis 進程便讓 Supervisor 啟動了起來。如果需要指定 Redis 的輸出日志,可以通過stdout_logfile配置選項指定。

由于 supervisor 管理的進程不能設置為 daemon 模式,故如果 redis 無法正常啟動,可以查看一下 Redis 的配置,并將daemonize選項設置為 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 查看進程狀態 supervisorctl shutdown 關閉supervisordsupervisorctl start all 啟動所有進程 supervisorctl restart all 重啟所有進程 supervisorctl stop all 停止所有進程

在 supervisor 的管理下,redis 已經在后臺啟動

那么,我該怎么與后臺運行中的 redis 交互呢?

  • redis-server用來啟動 redis 的服務端
  • redis-cli意思就是 redis-client,用來啟動 redis 的客戶端

在 src 目錄下,有個文件redis-cli,這個文件就是用來連接已經啟動的 redis 服務的。使用redis-cli命令連接本機的 redis 服務:

[root@localhost src]# redis-cli 127.0.0.1:6379> set hello world OK 127.0.0.1:6379> get hello "world"

三、允許在其他機器上遠程連接 redis

在 redis.conf 配置文件中進行以下兩處修改:
1、找到bind 127.0.0.1,加個#注釋掉
2、查找protected-mode yes 把yes修改為no
3、重啟 redis 即可

四、使用python對redis進行操作

安裝redis模塊 pip install redis

使用python對redis進行操作

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

五、在 Python 中使用 Redis 連接池

redis.py 使用 ConnectionPool 來管理對一個 redis server 的連接,避免每次建立、釋放連接的開銷。默認,每個 Redis 實例都會維護一個自己的連接池。可以直接建立一個連接池,然后作為參數Redis,這樣就可以實現多個Redis實例共享一個連接池。

如果想要并發操作,就需要寫成單列,以模塊導入就是一個單例,把他做成單例,寫在一個文件里面,import它,就是一個單例

RedisPool.py
連接池的創建

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

xxxUtils.py
連接池的使用

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

參考:redis學習 (key)鍵,Python操作redis 鍵 (二)

六、測試效果

Flask項目,supervisor+nginx+gunicorn,虛擬機內部署,附配置:

1、首次訪問頁面

cpu 使用情況

2、第二次訪問,直接redis中取
完全加載整個頁面的時間,由首次訪問的 150秒 縮短至 5.82秒 ,可以看到速度提升顯著

總結

以上是生活随笔為你收集整理的【Redis】CentOS7下redis的安装+supervisor管理+允许远程访问+测试部署效果的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。