1. 程式人生 > 實用技巧 >【Redis】Redis開篇與如何安裝單機版Redis,這次我會了!!

【Redis】Redis開篇與如何安裝單機版Redis,這次我會了!!

寫在前面

很早之前,就有不少小夥伴微信留言說:冰河,你能不能寫一個Redis專欄啊,我最近在學習Redis,看書看不下去,學習視訊又覺得視訊太長了,還是看你的文章比較給力!哈哈,原來我寫的文章能夠讓小夥伴們有這麼強的動力學習啊!終於安排到寫【Redis專題】了。今天是【Redis專題】的開篇,寫些什麼呢?先簡單的介紹下Redis並教大家如何在單機環境中安裝Redis吧,也算是對【Redis專題】的開篇吧!

如果文章對你有所幫助,請不要吝惜你的點贊、在看、留言和轉發,你的支援是我持續創作的最大動力!

Redis介紹

學習一項新技術和一個新的框架之前,大部分的套路都是先對這項技術和框架做一個簡單的介紹。這次,我也隨波逐流一次吧,對Redis做一個整體的介紹。

基於鍵值對的儲存系統:字典形式。

五種資料結構:字串(String),Hash(字典),列表(List),集合(Set),有序集合(Sorted Set)。

Redis大部分時間用來做快取,因為速度快(記憶體資料庫,單執行緒,單程序,Redis 6.0支援多執行緒,後面我們會詳細講Redis 6.0的新特性 )。

Redis的使用場景

以下使用場景也是5大資料型別中的一種:

  • BitMaps點陣圖:布隆過濾器 本質是字串
  • HyperLogLog:超小記憶體唯一值計數,12kb HyperLogLog 本質是 字串
  • GEO:地理資訊定位 本質是有序集合

主從複製:主伺服器和從伺服器,Redis中的資料可以從主伺服器同步到從伺服器上。

高可用和分散式:

  • 2.8版本以後使用redis-sentinel支援高可用(做哨兵)
  • 3.0版本以後支援分散式

Redis的安裝和啟動

這裡,我們在CentOS伺服器上安裝Redis 5.0.7版本。

1.下載安裝Redis

#下載
wget http://download.redis.io/releases/redis-5.0.7.tar.gz
#解壓
tar -zxvf redis-5.0.7.tar.gz
#建立軟連線(生成一個redis資料夾)
ln -s redis-5.0.7 redis
cd redis
make && make install

我們可以在Redis的src目錄下看到如下命令。這裡,我也對命令的作用進行了簡單的說明

#redis-server--->redis伺服器
#redis-cli---》redis命令列客戶端
#redis-benchmark---》redis效能測試工具
#redis-check-aof--->aof檔案修復工具
#redis-check-dump---》rdb檔案檢查工具
#redis-sentinel---》sentinel伺服器,哨兵

值得說明的是:Redis作者對windows維護不好,window自己有安裝包。

2.三種啟動Redis服務的方式

(1)最簡啟動法

Redis中最簡單的啟動方法就是在命令列中直接輸入如下命令。

redis-server  #只要執行這一條命令服務端就啟動了

啟動效果如下圖所示。

可以通過如下幾種命令來檢視Redis的執行情況。

ps -ef|grep redis  #檢視程序
netstat -antpl|grep redis #檢視埠
redis-cli -h ip -p port ping #命令檢視

(2)動態引數啟動法

這裡,我們以動態增加Redis的啟動埠為例,比如我們將Redis啟動後監聽的埠設定為6379,如下所示。

#動態引數啟動
redis-serve --port 6379 #啟動,監聽6379埠    預設對應的埠號是6379

這裡,我們在Redis啟動時,設定了動態埠。當然,我們還可以在Redis啟動時,設定其他的動態引數,在【Redis專題】後續的文章中,我們會詳細說明Redis的動態引數。

3.配置檔案啟動法(最常用的啟動方式)

Redis啟動之後,可以通過redis-cli連線,在伺服器命令列輸入如下命令可以查詢到預設的所有配置。

config get * 

配置檔案中一些常用的配置引數如下所示。

daemonize --》是否是守護程序啟動(no|yes)
port ---》埠號
bind ---》繫結的主機名或IP地址
logfile --》redis系統日誌
dir --》redis工作目錄
protected-mode --》是否允許外界訪問

例如,我們建立一個redis-6379.conf配置檔案,檔案的內容如下所示。

daemonize yes      #是否以後臺形式執行
port 6379          #繫結埠號
bind 0.0.0.0       #設定地址
protected-mode no    #設定允許外界訪問
dir "/data/redis/data"        #工作目錄
logfile "./redis-6379.log"    #日誌位置

然後,我們可以在伺服器的命令列使用如下命令指定Redis的配置檔案來啟動Redis服務。

redis-server redis-6379.conf

總結三種啟動Redis的方式

這裡,我們還是對Redis的三種啟動方式做一個簡單的總結:

  • 直接命令列:redis-server
  • 動態引數方式:redis-server --port 6379 #這裡是新增埠引數
  • 配置檔案方式:redis-server 啟動配置檔名

3.客戶端連線方式

(1)最簡連線法

如果Redis伺服器和Redis客戶端在同一臺伺服器上,並且Redis伺服器使用的是預設埠6379,則可以使用最簡連線法。此時,只需要在伺服器命令列輸入如下命令即可。

redis-cli

(2)指定IP和埠連線

無論Redis伺服器和Redis客戶端是否在同一臺伺服器,也不管是否修改過Redis的埠號,都可以使用指定IP和埠的方式來連線Redis服務。這種方式可以使用類似如下命令的形式連線Redis服務端。

redis-cli -h 127.0.0.1 -p 6379    #加上ip地址或者埠號

(3)使用視覺化工具連線Redis

除了上述使用redis-cli連線Redis的方式,還可以使用視覺化工具來連線Redis。例如,我們可以使用RedisDesktopManager這個視覺化工具來連線Redis。如下所示。

關閉後臺Redis方法

當我們不需要Redis的時候,就可以關閉後臺執行的Redis服務,我們可以通過如下命令來關閉後臺執行的Redis服務。

(1)檢視執行的Redis程序號

使用如下命令檢視執行的Redis程序號。

ps -ef | grep redis-server | grep 6379

或者

ps -ef | grep redis-server

或者

ps -ef |grep redis

(2)殺掉查詢到的程序號

kill Redis程序號

命令指令碼化

當然,上述安裝Redis、啟動Redis、連線Redis和關閉Redis的命令都可以寫成一個指令碼檔案,我們只需要執行指令碼檔案即可自動化安裝Redis、啟動Redis、連線Redis和關閉Redis。這裡,如何編寫指令碼就留給小夥伴們自行思考吧,大家如果有什麼問題可以在文末留言!!

重磅福利

關注「 冰河技術 」微信公眾號,後臺回覆 “設計模式” 關鍵字領取《深入淺出Java 23種設計模式》PDF文件。回覆“Java8”關鍵字領取《Java8新特性教程》PDF文件。回覆“限流”關鍵字獲取《億級流量下的分散式限流解決方案》PDF文件,三本PDF均是由冰河原創並整理的超硬核教程,面試必備!!

好了,今天就聊到這兒吧!別忘了點個贊,給個在看和轉發,讓更多的人看到,一起學習,一起進步!!

寫在最後

如果你覺得冰河寫的還不錯,請微信搜尋並關注「 冰河技術 」微信公眾號,跟冰河學習高併發、分散式、微服務、大資料、網際網路和雲原生技術,「 冰河技術 」微信公眾號更新了大量技術專題,每一篇技術文章乾貨滿滿!不少讀者已經通過閱讀「 冰河技術 」微信公眾號文章,吊打面試官,成功跳槽到大廠;也有不少讀者實現了技術上的飛躍,成為公司的技術骨幹!如果你也想像他們一樣提升自己的能力,實現技術能力的飛躍,進大廠,升職加薪,那就關注「 冰河技術 」微信公眾號吧,每天更新超硬核技術乾貨,讓你對如何提升技術能力不再迷茫!