redis 基本原理及安裝

一:什麼是redis?git

Redis 是一個開源的,高性能的,基於鍵值對的緩存與存儲系統。經過提供多種鍵值數據類型來適應不一樣場景下的緩存與存儲需求。github

二:redis數據庫有什麼優勢?redis

Redis數據庫中的全部的數據都存儲在內存中,內存的讀寫速度都比硬盤快,所以Redis在性能上對比其餘基於硬盤存儲的數據庫有明顯的優點。也就是說讀寫速度很是快。數據庫

缺點是:把數據存儲在內存中,當程序退出後,內存中的數據就會丟失。可是Redis也提供了對持久化的支持。便可將內存中的數據異步寫入到硬盤中。緩存

三:安裝Redisruby

下面我使用homebrew來安裝,首先咱們須要安裝homebrew,安裝homebrew 命令以下:服務器

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

如上命令運行後便可安裝homebrew了。curl

有關homebrew的操做命令以下:異步

brew search * // 查找某個軟件包
brew list // 列出已經安裝的軟件的包
brew install * // 安裝某個軟件包
brew uninstall * // 卸載某個已經安裝的包
brew upgrade * // 更新某個軟件包
brew info * // 查看指定軟件包的說明
brew cache clean // 清理緩存

2. 咱們使用 brew search redis 來搜索下 redis的安裝版本,以下:工具

下面咱們來安裝 redis3.2版本的,以下命令:

而後咱們進入 /usr/local/etc 下找到 redis.conf 配置文件,使用以下命令打開:

sudo open ./redis.conf -a 'sublime text'

打開redis.conf 文件進行編輯,找到 daemonize no 這一行 改爲yes 目的是以守護進程的方式啓動。

3. 配置環境變量:以下命令:

echo 'export PATH="/usr/local/Cellar/redis@3.2/3.2.13/bin:$PATH"' >> ~/.zshrc

以下圖所示:

4. 啓動redis, 使用命令以下:

brew services start redis@3.2

以下圖所示:

5. 查看進程:使用命令:ps axu|grep redis;

以下圖所示:

四:啓動客戶端

1. 指定地址和端口號
使用命令以下:

redis-cli -h 127.0.0.1 -p 6379

2. 關閉客戶端使用 quit 命令;

基本操做以下:

$ redis-cli -h 127.0.0.1 -p 6379
127.0.0.1:6379> set key value11;
OK
127.0.0.1:6379> get key
"value11;"
127.0.0.1:6379> quit

以下所示:

五:啓動服務端

Redis經常使用的可執行文件有以下:

redis-server Redis服務器。
redis-cli Redis命令行客戶端
redis-benchmark Redis性能測試工具

啓動Redis服務端

啓動Redis有直接啓動和經過初始化腳本啓動兩種方式。我這邊先介紹直接啓動了。

1. 直接啓動

咱們須要直接運行 redis-server 命令,便可啓動Redis, 命令以下:

$ redis-server

以下所示:

Redis服務器默認使用6379端口號的。咱們能夠經過 --port 參數能夠自定義端口號。以下:

$ redis-server --port 7777

以下圖所示:

六:關閉服務端

1. 強行關閉
強行終止redis進程可能會致使數據丟失,由於redis可能正在將內存的數據同步到硬盤中。

ps axu|grep redis; // 查看redis-server 的進程號

殺掉進程號 

kill -9 '進程號';

以下所示:

注意:Redis啓動失敗,以下報錯:

Could not connect to Redis at 127.0.0.1:6379: Connection refused

以下圖所示

解決辦法以下:
1. 先啓動服務器端:以下命令:redis-server。 以下所示:

2. 而後切換到一個新的命令行中(注意上面的服務器端不要關閉掉,不然的話會被拒絕掉的),輸入啓動客戶端的命令以下:

redis-cli

3. 咱們繼續查看進程號,能夠看到以下:

七:查看客戶端redis是否鏈接正常

Redis提供了PING命令來測試客戶端與Redis的連接是否正常,若是鏈接正常會收到回覆PONG,以下所示:

相關文章
相關標籤/搜索