搭建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
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...