搭建JEESZ分散式架構10-Redis分散式緩存安裝(單節點)

来源:http://www.cnblogs.com/chcse/archive/2017/05/10/6835840.html
-Advertisement-
Play Games

Redis分散式緩存安裝(單節點) Redis官網:http://redis.io 獨立緩存伺服器:IP:xxx.xxx.xxx.xxx 安裝環境:CentOS 6.6 Redis 版本:redis-3.0 (因為 Redis3.0 在集群和性能提升方面的特性,rc 版為正式版的候選版,請在安裝時去 ...


Redis分散式緩存安裝(單節點)

Redis官網:http://redis.io
獨立緩存伺服器:IP:xxx.xxx.xxx.xxx
安裝環境:CentOS 6.6
Redis 版本:redis-3.0 (因為 Redis3.0 在集群和性能提升方面的特性,rc 版為正式版的候選版,請在安裝時去官網選用最新版)
用戶:root
安裝目錄:/usr/local/redis

下麵我們針對於Redis安裝做下詳細的記錄:
編譯和安裝所需的包:
# yum install gcc tcl

提醒:下載 3.0 版 Redis(當前最新版 redis-3.0.0-rc5.tar.gz,請在安裝時去官網選用最新版)
# cd /usr/local/src
# wget https://github.com/antirez/redis/archive/3.0.0-rc5.tar.gz
提醒:此路徑可以通過官網去下載目錄copy

創建安裝目錄:
# mkdir /usr/local/redis

解壓:
# tar -zxvf 3.0.0-rc5.tar.gz
# mv redis-3.0.0-rc5 redis3.0
# cd redis3.0

安裝(使用 PREFIX 指定安裝目錄)
# make PREFIX=/usr/local/redis install
安裝完成後,可以看到/usr/local/redis 目錄下有一個 bin 目錄,bin 目錄里就是 redis 的命令腳本:
redis-benchmark redis-check-aof redis-check-dump redis-cli redis-server

Redis 配置成服務:
按上面的操作步驟,Redis 的啟動腳本為:/usr/local/src/redis3.0/utils/redis_init_script
將啟動腳本複製到/etc/rc.d/init.d/目錄下,並命名為 redis
# cp /usr/local/src/redis3.0/utils/redis_init_script /etc/rc.d/init.d/redis

編輯/etc/rc.d/init.d/redis,修改相應配置,使之能註冊成為服務:
# vi /etc/rc.d/init.d/redis
#!/bin/sh
#
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.
REDISPORT=6379
EXEC=/usr/local/bin/redis-server
CLIEXEC=/usr/local/bin/redis-cli

PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF="/etc/redis/${REDISPORT}.conf"
case "$1" in
 start)
 if [ -f $PIDFILE ]
 then
 echo "$PIDFILE exists, process is already running or crashed"
 else
 echo "Starting Redis server..."
 $EXEC $CONF
 fi
 ;;
 stop)
 if [ ! -f $PIDFILE ]
 then
 echo "$PIDFILE does not exist, process is not running"
 else
 PID=$(cat $PIDFILE)
 echo "Stopping ..."
 $CLIEXEC -p $REDISPORT shutdown
 while [ -x /proc/${PID} ]
 do
 echo "Waiting for Redis to shutdown ..."
 sleep 1
 done
 echo "Redis stopped"
 fi
 ;;
 *)
 echo "Please use start or stop as first argument"
 ;;
esac
查看以上 redis 服務腳本,關註標為橙色的幾個屬性,做如下幾個修改的準備:
(1) 在腳本的第一行後面添加一行內容如下:
     #chkconfig: 2345 80 90
    提醒:如果不添加上面的內容,在註冊服務時會提示:service redis does not support chkconfig
(2) REDISPORT 埠保持 6379 不變;(特別註意:埠名將與下麵的配置文件名有關)
(3) EXEC=/usr/local/bin/redis-server 改為 EXEC=/usr/local/redis/bin/redis-server
(4) CLIEXEC=/usr/local/bin/redis-cli 改為 CLIEXEC=/usr/local/redis/bin/redis-cli
(5) 配置文件設置:
創建 redis 配置文件目錄
# mkdir /usr/local/redis/conf
複製 redis 配置文件/usr/local/src/redis3.0/redis.conf 到/usr/local/redis/conf 目錄並按埠號重命名為6379.conf
# cp /usr/local/src/redis3.0/redis.conf /usr/local/redis/conf/6379.conf
做了以上準備後,再對 CONF 屬性作如下調整:
CONF="/etc/redis/${REDISPORT}.conf" 改為 CONF="/usr/local/redis/conf/${REDISPORT}.conf"
(6) 更改 redis 開啟的命令,以後臺運行的方式執行:
$EXEC $CONF &   #“&”作用是將服務轉到後面運行

修改後的/etc/rc.d/init.d/redis 服務腳本內容為:
#!/bin/sh
#chkconfig: 2345 80 90
#
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.
REDISPORT=6379
EXEC=/usr/local/redis/bin/redis-server
CLIEXEC=/usr/local/redis/bin/redis-cli
PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF="/usr/local/redis/conf/${REDISPORT}.conf"
case "$1" in
 start)
 if [ -f $PIDFILE ]
 then
 echo "$PIDFILE exists, process is already running or crashed"
 else
 echo "Starting Redis server..."
 $EXEC $CONF &
 fi
 ;;
 stop)
 if [ ! -f $PIDFILE ]
 then
 echo "$PIDFILE does not exist, process is not running"
 else
 PID=$(cat $PIDFILE)
 echo "Stopping ..."
 $CLIEXEC -p $REDISPORT shutdown
 while [ -x /proc/${PID} ]
 do
 echo "Waiting for Redis to shutdown ..."

 sleep 1
 done
 echo "Redis stopped"
 fi
 ;;
 *)
 echo "Please use start or stop as first argument"
 ;;
esac

以上配置操作完成後,便可將 Redis 註冊成為服務:
# chkconfig --add redis

防火牆中打開對應的埠
# vi /etc/sysconfig/iptables
添加:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 6379 -j ACCEPT
重啟防火牆:
# service iptables restart

修改 redis 配置文件設置:
# vi /usr/local/redis/conf/6379.conf
修改如下配置
daemonize no 改為 daemonize yes
備註:如果不改為yes,pid文件是不會生成,start、stop命令是不會生效的(依賴pid文件)
pidfile /var/run/redis.pid 改為 pidfile /var/run/redis_6379.pid

啟動 Redis 服務
# service redis start

Redis 添加到環境變數中:
# vi /etc/profile
在最後添加以下內容:
## Redis env
export PATH=$PATH:/usr/local/redis/bin
使配置生效:
# source /etc/profile

當前可以直接使用 redis-cli redis 命令了:
# redis-cli
關閉 Redis 服務
# service redis stop
提醒:預設情況下,Redis 開啟安全認證,可以通過/usr/local/redis/conf/6379.conf 的 requirepass 指定一個
驗證密碼

源碼地址獲取mingli.com

有興趣的朋友們可以前往球球哦~一起分享學習技術:2042849237


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1、 關掉mysql服務 右鍵“我的電腦”,選擇“管理”,打開電腦管理,選擇“服務” 右鍵MySQL服務,選擇“停止” 2、 卸載mysql程式 開始菜單->控制面板->程式和功能 3、 刪除電腦上的殘留文件 (1) 刪除 C盤-》programData->mysql文件夾,programDat ...
  • 概述:INNER JOIN、LEFT JOIN、LIGHT JOIN、FULL JOIN. 一、INNER JOIN INNER JOIN 關鍵字在表中存在至少一個匹配時返回行。 語法: 此查詢會返回兩表中存在匹配項的值。 內連接: 現有一學生成績表:(Achievement) 現需查出 “語文成績 ...
  • 連接查詢: 將多張表(可以大於2張)進行記錄的連接(按照某個指定的條件進行數據拼接); 最終結果是: 記錄數有可能變化, 欄位數一定會增加(至少兩張表的合併)! 連接查詢的意義: 在用戶查看數據的時候,需要顯示的數據來自多張表. SQL中將連接查詢分成四類:交叉連接,內連接,外連接和自然連接。 在介 ...
  • 寫了個存儲過程,中間用到了類似這種寫法 其中'1,2,3'是從外面傳進來的參數,就這樣執行報錯:'1,2,3'轉換為int類型出錯,因為ID是int類型的 想了個比較笨的解決方法:思路-迴圈將傳進來的參數'1,2,3'分割並轉換為int然後存儲到臨時表,之後在In裡面Select ID這樣就不報錯了 ...
  • SQL(Structured Query Language)即結構化查詢語言。SQL 註入,就是把 SQL 命令插入到 Web 表單的輸入域或頁面請求參數的查詢字元串中,在 Web表單向 Web 伺服器提交 GET 或 POST 請求時,如果伺服器端未嚴格驗證參數的有效性和合法性,將導致資料庫伺服器 ...
  • 1.將一個資料庫的表複製到另一個資料庫,複製表結構及數據; 前提:兩個資料庫在同一個伺服器 語法:SELECT * INTO db1.dbo.tb1 FROM db2.dbo.tb2 說明:db1--目標資料庫;tb1--目標表,且目標資料庫無此表;db2--源資料庫;tb2--源表(需複製的表) ...
  • --單表遞歸 由於項目中經常用到 , 隨筆以作下次使用 例如:找ProductType表 下ID為1的分類的所有子級 with result as --result為別名( select * from TB_ProductType where Id=1 --查詢ID為1 的數據 union all ...
  • 1。到apache官網下載Thrift源碼, http://thrift.apache.org/download,我這裡下載的是thrift-0.10.0 2。到apach官網下載thrift.exe, http://thrift.apache.org/download, 這裡下載的是thrift- ...
一周排行
    -Advertisement-
    Play Games
  • 前言 本文介紹一款使用 C# 與 WPF 開發的音頻播放器,其界面簡潔大方,操作體驗流暢。該播放器支持多種音頻格式(如 MP4、WMA、OGG、FLAC 等),並具備標記、實時歌詞顯示等功能。 另外,還支持換膚及多語言(中英文)切換。核心音頻處理採用 FFmpeg 組件,獲得了廣泛認可,目前 Git ...
  • OAuth2.0授權驗證-gitee授權碼模式 本文主要介紹如何筆者自己是如何使用gitee提供的OAuth2.0協議完成授權驗證並登錄到自己的系統,完整模式如圖 1、創建應用 打開gitee個人中心->第三方應用->創建應用 創建應用後在我的應用界面,查看已創建應用的Client ID和Clien ...
  • 解決了這個問題:《winForm下,fastReport.net 從.net framework 升級到.net5遇到的錯誤“Operation is not supported on this platform.”》 本文內容轉載自:https://www.fcnsoft.com/Home/Sho ...
  • 國內文章 WPF 從裸 Win 32 的 WM_Pointer 消息獲取觸摸點繪製筆跡 https://www.cnblogs.com/lindexi/p/18390983 本文將告訴大家如何在 WPF 裡面,接收裸 Win 32 的 WM_Pointer 消息,從消息裡面獲取觸摸點信息,使用觸摸點 ...
  • 前言 給大家推薦一個專為新零售快消行業打造了一套高效的進銷存管理系統。 系統不僅具備強大的庫存管理功能,還集成了高性能的輕量級 POS 解決方案,確保頁面載入速度極快,提供良好的用戶體驗。 項目介紹 Dorisoy.POS 是一款基於 .NET 7 和 Angular 4 開發的新零售快消進銷存管理 ...
  • ABP CLI常用的代碼分享 一、確保環境配置正確 安裝.NET CLI: ABP CLI是基於.NET Core或.NET 5/6/7等更高版本構建的,因此首先需要在你的開發環境中安裝.NET CLI。這可以通過訪問Microsoft官網下載並安裝相應版本的.NET SDK來實現。 安裝ABP ...
  • 問題 問題是這樣的:第三方的webapi,需要先調用登陸介面獲取Cookie,訪問其它介面時攜帶Cookie信息。 但使用HttpClient類調用登陸介面,返回的Headers中沒有找到Cookie信息。 分析 首先,使用Postman測試該登陸介面,正常返回Cookie信息,說明是HttpCli ...
  • 國內文章 關於.NET在中國為什麼工資低的分析 https://www.cnblogs.com/thinkingmore/p/18406244 .NET在中國開發者的薪資偏低,主要因市場需求、技術棧選擇和企業文化等因素所致。歷史上,.NET曾因微軟的閉源策略發展受限,儘管後來推出了跨平臺的.NET ...
  • 在WPF開發應用中,動畫不僅可以引起用戶的註意與興趣,而且還使軟體更加便於使用。前面幾篇文章講解了畫筆(Brush),形狀(Shape),幾何圖形(Geometry),變換(Transform)等相關內容,今天繼續講解動畫相關內容和知識點,僅供學習分享使用,如有不足之處,還請指正。 ...
  • 什麼是委托? 委托可以說是把一個方法代入另一個方法執行,相當於指向函數的指針;事件就相當於保存委托的數組; 1.實例化委托的方式: 方式1:通過new創建實例: public delegate void ShowDelegate(); 或者 public delegate string ShowDe ...