Redis超強、超詳細入門教程,Redis的安裝使用看這一篇就夠了!

?
Redis 是當(dāng)今非常流行的基于 KV 結(jié)構(gòu)的作為Cache 使用的 NoSQL數(shù)據(jù)庫。學(xué)習(xí)Redis最好的方法就是動手嘗試,在介紹Redis核心內(nèi)容之前,本篇文章主要先來介紹一下Redis的安裝和使用,以及Redis的基礎(chǔ)知識。
視頻觀看戳??????

Redis?介紹
Remote?Dictionary?Server(Redis)是一個開源的使用C?語言編寫、支持網(wǎng)絡(luò)、可基于內(nèi)存亦可持久化的?Key-Value?數(shù)據(jù)庫.?Key?字符類型,其值(value)可以是字符串(String),??哈希(Map),列表(list), 集合(sets) 和有序集合(sorted?sets)等類型,每種數(shù)據(jù)類型有自己的專屬命令。所以它通常也被稱為數(shù)據(jù)結(jié)構(gòu)服務(wù)器。
Redis 的作者是 Antirez,來自意大利的西西里島,現(xiàn)在居住在卡塔尼亞。目前供職于Pivotal?公司(Pivotal?是?Spring?框架的開發(fā)團隊),Antirez?被稱為?Redis?之父。
Redis的代碼托管在GitHub上https://github.com/antirez/redis,開發(fā)十分活躍,代碼量只有3萬多行。
官網(wǎng):https://redis.io/
中文:http://www.redis.cn/
Window?上安裝 Redis
Windows 版本的 Redis 是 Microsoft 的開源部門提供的 Redis. 這個版本的 Redis 適合開發(fā)人員學(xué)習(xí)使用,生產(chǎn)環(huán)境中使用 Linux 系統(tǒng)上的 Redis
?(1)?下載
官網(wǎng):https://redis.io/
windows 版本:https://github.com/MSOpenTech/redis/releases

(2)?安裝
下載的?Redis-x64-3.2.100.zip??解壓后,放到某個目錄(例如?d:\tools\),即可使用。目錄結(jié)構(gòu):

(3)?啟動
1.?Windows7?系統(tǒng)雙擊 redis-server.exe?啟動 Redis

2. Windows?10?系統(tǒng)
有的機器雙擊 redis-server.exe 執(zhí)行失敗,找不到配置文件,可以采用以下執(zhí)行方式: 在命令行(cmd)中按如下方式執(zhí)行:
D:\tools\Redis-x64-3.2.100>redis-server.exe redis.windows.conf
如圖:

(4)?關(guān)閉
按 ctrl+c 退出Redis 服務(wù)程序。
Linux?上安裝 Redis
(1)?安裝
1. 上傳 redis-4.0.13.tar.gz?到 linux?系統(tǒng)。使用 Xftp?工具

2. 解壓 redis-4.0.13.tar.gz?到/usr/local?目錄

3.?查看解壓后的文件
切換目錄 cd /usr/local
執(zhí)行 ll

4.?安裝 gcc?編譯器
Redis 是使用 c 語言編寫的。使用源文件安裝方式,需要編譯 c 源文件,會使用 gcc 編譯器。
什么是 gcc??
gcc 是 GNU compiler collection 的縮寫,它是 Linux 下一個編譯器集合(相當(dāng)于 javac?),是c 或 c++程序的編譯器。
使用yum進行安裝gcc 。執(zhí)行命令:yum -y install gcc

在解壓后的 Redis 目錄下執(zhí)行(cd /usr/local/redis-4.0.13) make 命令。
5. 編譯 redis?源文件
1) 開始執(zhí)行 make
cd /usr/local/redis-4.0.13?再執(zhí)行 make

如果 make 命令執(zhí)行過程中出現(xiàn)錯誤:
error: jemalloc/jemalloc.h: No such file or directory
解決方式執(zhí)行 make MALLOC=libc
2)執(zhí)行 make 成功的標志

3)查看make編譯結(jié)果,cd src目錄
cd?src 在執(zhí)行 ls

(2)?啟動 Redis
redis 安裝目錄下 redis.conf 是重要的配置文件,包含 redis 服務(wù)器的配置信息。啟動redis 需要指定配置文件路徑。
啟動方式:
①前臺啟動?./redis-server redis.conf?配置文件路徑
②后臺啟動?./redis-server redis.conf?配置文件路徑 &
第①種 前臺啟動
啟動 Redis 的服務(wù)器端:切換到 src 目錄下執(zhí)行redis-server 程序

或者使用全路徑

redis 應(yīng)用以前臺的方式啟動,不能退出當(dāng)前窗口,退出窗口,應(yīng)用終止。
在其他窗口查看redis 啟動的進程

第②種 后臺啟動
src目錄下執(zhí)行 ./redis-server redis.conf配置文件路徑?&
此時關(guān)閉窗口,查看redis進程,依然存在。

查看redis進程

(3)?關(guān)閉 Redis
?關(guān)閉方式:
①使用 redis 客戶端關(guān)閉,向服務(wù)器發(fā)出關(guān)閉命令
切換到?redis-4.0.13/src/ ?目錄,執(zhí)行?./redis-cli shutdown
推薦使用這種方式, redis 先完成數(shù)據(jù)操作,然后再關(guān)閉。
例如:

②kill pid 或者 kill -9 pid
這種不會考慮當(dāng)前應(yīng)用是否有數(shù)據(jù)正在執(zhí)行操作,直接就關(guān)閉應(yīng)用。先使用 ps -ef | grep redis 查出進程號,在使用 kill pid

Redis 客戶端
Redis 客戶端是一個程序,通過網(wǎng)絡(luò)連接到 Redis 服務(wù)器,在客戶端軟件中使用 Redis 可
以識別的命令,向 Redis 服務(wù)器發(fā)送命令,告訴 Redis 想要做什么。Redis 把處理結(jié)果顯示在客戶端界面上。通過 Redis 客戶端和 Redis 服務(wù)器交互。
Redis 客戶端發(fā)送命令,同時顯示 Redis 服務(wù)器的處理結(jié)果在。
redis?命令行客戶端:
redis-cli(Redis Command Line Interface)是 Redis 自帶的基于命令行的Redis 客戶端,用于與服務(wù)端交互,我們可以使用該客戶端來執(zhí)行redis 的各種命令。
兩種常用的連接方式:
1.?直接連接 redis?(默認 ip127.0.0.1,端口 6379):./redis-cli
在?redis?安裝目錄/src,執(zhí)行 ./redis-cli
此命令是連接本機 127.0.0.1 ,端口 6379 的 redis
?2.?指定 IP?和端口連接 redis:./redis-cli?-h?127.0.0.1?-p?6379
-h redis 主機 IP(可以指定任意的 redis 服務(wù)器)
-p 端口號(不同的端口表示不同的redis 應(yīng)用)
在?redis?安裝目錄/src,執(zhí)行 ./redis-cli -h 127.0.0.1 -p 6379
例 1:

redis?遠程客戶端
Redis Desktop Manager:C++ 編寫,響應(yīng)迅速,性能好。官網(wǎng)地址:https://redisdesktop.com/

點擊“DOWNLOAD”

1. 安裝客戶端軟件
在 Windows 系統(tǒng)使用此工具,連接 Linux 上或 Windows 上的 Redis , 雙擊此exe 文件執(zhí)行安裝

安裝后啟動界面:

使用客戶端連接 Linux?的 Redis
連接Linux的Reids之前需要修改Redis服務(wù)器的配置信息。 Redis服務(wù)器有安全保護措施,默認只有本機(安裝Redis的那臺機器)能夠訪問。配置信息存放在Redis安裝目錄下的redis.conf文件。修改此文件的兩個設(shè)置。
遠程連接redis需要修改redis主目錄下的redis.conf配置文件:
①.?bind ip 綁定ip此行注釋
②.?protected-mode yes 保護模式改為 no
使用vim 命令修改redis.conf 文件,修改文件前備份此文件,執(zhí)行 cp 命令

執(zhí)行 vim?redis.conf

3. 使用 redis.conf?啟動 Redis
修改配置文件后,需要使用配置文件重新啟動 Reids,默認不加載配置文件。先關(guān)閉已經(jīng)啟
動的 Redis ,使用以下命令啟動 Redis 在 Redis 安裝目錄執(zhí)行:
./redis-server ../redis.conf &

4.?關(guān)閉 Linux?系統(tǒng)的防火墻
linux 系統(tǒng),命令行執(zhí)行:systemctl stop firewalld
5. 配置 Redis Desktop?Manamager(RDM),連接 Redis
在 RDM 的主窗口,點擊左下的“Connect to Redis Server”

連接成功后:

redis?編程客戶端
?Jedis
redis 的 Java 編程客戶端,Redis 官方首選推薦使用 Jedis,jedis 是一個很小但很健全的
redis 的 java 客戶端。通過Jedis 可以像使用 Redis 命令行一樣使用Redis。
jedis?完全兼容redis?2.8.x?and?3.x.x
Jedis?源碼:https://github.com/xetorthio/jedis
api?文檔:http://xetorthio.github.io/jedis/
redis?的其他編程語言客戶端:
C?、C++ 、C# 、Erlang、Lua?、Objective-C、Perl??、PHP??、Python??、Ruby、Scala??、Go 等 40?多種語言都有連接redis?的編程客戶端
Redis?基本操作命令
redis 默認為 16 個庫 (在redis.conf 文件可配置,該文件很重要,后續(xù)很多操作都是這個配置文件) redis 默認自動使用 0 號庫
(1) 溝通命令,查看狀態(tài)
redis >ping 返回 PONG
解釋:輸入 ping,redis 給我們返回 PONG,表示 redis 服務(wù)運行正常

(2)?查看當(dāng)前數(shù)據(jù)庫中 key 的數(shù)目:dbsize
語法:dbsize
作用:返回當(dāng)前數(shù)據(jù)庫的 key 的數(shù)量。返回值:數(shù)字,key 的數(shù)量
例:先查索引 5?的 key?個數(shù), 再查 0?庫的 key?個數(shù)

(3) redis 默認使用 16 個庫
Redis默認使用16個庫,從0到15。 對數(shù)據(jù)庫個數(shù)的修改,在redis.conf?文件中databases 16?

(4)?切換庫命令:select?db
使用其他數(shù)據(jù)庫,命令是 select?index?
例 1: select?5?

(5)?刪除當(dāng)前庫的數(shù)據(jù):flushdb

(6) redis 自帶的客戶端退出當(dāng)前 redis 連接:exit 或 quit

Redis?的Key?的操作命令
1.?keys
語法:keys pattern
作用:查找所有符合模式?pattern?的?key. pattern?可以使用通配符。通配符:
*:表示 0-多個字符,例如:keys?*?查詢所有的 key。
?:表示單個字符,例如:wo?d?, 匹配 word?, wood
例 1:顯示所有的 key

例 2:使用 *表示 0 或多個字符

例 3:使用?表示單個字符

2.?exists
語法:exists key [key…]
作用:判斷key 是否存在
返回值:整數(shù),存在 key 返回 1,其他返回 0.使用多個 key,返回存在的key 的數(shù)量。
例 1:檢查指定 key 是否存在

例 2:檢查多個 key

語法:expire key seconds
作用:設(shè)置key 的生存時間,超過時間,key 自動刪除。單位是秒。返回值:設(shè)置成功返回數(shù)字 1,其他情況是 0 。
例 1:設(shè)置紅燈的倒計時是 5 秒

4. ttl
語法:ttl key
作用:以秒為單位,返回 key 的剩余生存時間(ttl: time to live) 返回值:
-1?:沒有設(shè)置 key?的生存時間, key?永不過期。
-2:key?不存在
數(shù)字:key?的剩余時間,秒為單位
例 1:設(shè)置 redlight 的過期時間是 10,查看剩余時間

5. type
語法:type key
作用:查看key 所存儲值的數(shù)據(jù)類型返回值:字符串表示的數(shù)據(jù)類型
none?(key?不存在)
string?(字符串)
list?(列表)
set?(集合)
zset?(有序集)
hash?(哈希表)
例 1:查看存儲字符串的 key:wood

例 2:查看不存在的key

6. del
語法:del key [key…]
作用:刪除存在的key,不存在的key 忽略。返回值:數(shù)字,刪除的 key 的數(shù)量。
例 1:刪除指定的 key

如果想更深入的學(xué)習(xí)Redis,奉上Redis視頻教程,視頻學(xué)習(xí)效果更佳,走過路過別忘素質(zhì)三連哦~~

