一、初識Redis
1. 認識NoSQL
數據結構:對于SQL來說,表是有結構的,如字段約束、字段存儲大小等。
關聯性:SQL 的關聯性體現在兩張表之間可以通過外鍵,將兩張表的數據關聯查詢出完整的數據。
查詢方式:
2. 認識 Redis
?Redis誕生于2009年全稱是Remote Dictionary Server,遠程詞典服務器,是一個基于內存的鍵值型?NoSQL 數據庫。
特征:
- 鍵值(key-value)型,value支持多種不同數據結構,功能豐富
- 單線程,每個命令具備原子性
- 低延遲,速度快(基于內存、IO多路復用、良好的編碼)。
- 支持數據持久化,定期將數據存入磁盤
- 支持主從集群、分片集群(把數據存放在不同的集群中)
- 支持多語言客戶端,如 JAVA、Python
3. 安裝Redis及啟動的三種方式
大多數企業都是基于Linux服務器來部署項目,而且Redis官方也沒有提供Windows版本的安裝包。網上找到的window是微軟編寫的。因此這里基于Linux系統來安裝Redis。Redis的官方網站地址:https://redis.io/
3.1. 單機安裝Redis
1.1?Redis是基于C語言編寫的,因此首先需要安裝Redis所需要的gcc依賴:
yum install -y gcc tcl
1.2 上傳安裝包至虛擬機任意目錄并解壓。這里我上傳至 /usr/local/src , 解壓命令如下
tar -zxvf redis-6.2.6.tar.gz
1.3 進入解壓后的文件夾
cd redis-6.2.6
?1.4 編譯安裝。make是編譯,make install 是安裝。等待編譯下載完成就安裝好了redis。
make && make install
默認的安裝路徑是在 /usr/local/bin 目錄下,進入該目錄查看有哪些文件
該目錄以及默認配置到環境變量,因此可以在任意目錄下運行這些命令。其中:
redis-cli:是redis提供的命令行客戶端
redis-server:是redis的服務端啟動腳本
redis-sentinel:是redis的哨兵啟動腳本
3.2 啟動Redis的三種方式
方式一:默認方式
redis-server
這種啟動屬于`前臺啟動`,會阻塞整個會話窗口,窗口關閉或者按下`CTRL + C`則Redis停止。不推薦使用。
?
方式二:指定配置啟動
如果需要讓redis在后臺運行,需要修改Redis配置文件 redis.conf。配置文件在 /usr/local/src/redis-6.2.6 這個目錄中。
1. 先備份這個配置文件,以防萬一
cp redis.conf redis.conf.bck
?2. 修改redis.conf文件中的一些配置,進入后,輸入/,在輸入內容回車就能搜索到了。
properties
# 允許訪問的地址,默認是127.0.0.1,會導致只能在本地訪問。修改為0.0.0.0 則可以在任意IP訪問,生產環境不要設置為0.0.0.0 。
bind 0.0.0.0
# 守護進程,修改為yes后即可后臺運行
daemonize yes?
# 密碼,設置后訪問Redis必須輸入密碼,這里設置為123456
requirepass 123456
# 日志文件,默認為空,不記錄日志,可以指定日志文件名
logfile "redis.log"
修改上述配置后即可重新啟動redis了。Redis的其它常見配置有:
# 監聽的端口
port 6379
# 工作目錄,默認是當前目錄,也就是運行redis-server時的命令,日志、持久化等文件會保存在這個目錄
dir .
# 數據庫數量,設置為1,代表只使用1個庫,默認有16個庫,編號0~15
databases 1
# 設置redis能夠使用的最大內存
maxmemory 512mb
3. 接下來我們就可以啟動redis了。進入redis安裝目錄?
cd /usr/local/src/redis-6.2.6
啟動redis
# 啟動
redis-server redis.conf
?此時啟動redis后界面沒有任何變化,可以使用如下命令查看后臺運行的服務。
ps -ef | grep redis
停止服務
# 利用redis-cli來執行 shutdown 命令,即可停止 Redis 服務,因為之前配置了密碼,因此需要通過 -u 來指定密碼。
停止服務
redis-cli -u 123456 shutdown
查看進程狀態
ps -ef | grep redis
?殺死進程,kill -9 進程id , 進程id可以在進程狀態中查看
方式三:開機自啟
1. 首先,新建一個系統服務文件:
vim /etc/systemd/system/redis.service
2. 添加如下內容
[Unit]
Description=redis-server
After=network.target[Service]
Type=forking
# ExecStart 表示啟動服務,
# /usr/local/bin/redis-server 表示redis-server的位置,
# /usr/local/src/redis-6.2.6/redis.conf 是配置文件目錄
ExecStart=/usr/local/bin/redis-server /usr/local/src/redis-6.2.6/redis.conf
PrivateTmp=true[Install]
WantedBy=multi-user.target
3. 重載系統服務
systemctl daemon-reload
4. 設置開機自啟
systemctl enable redis
可以用以下命令來操作redis?
查看redis運行狀態
systemctl status redis
停止 redis
systemctl stop redis
啟動?redis
systemctl start redis
重啟
systemctl restart redis
4. Redis 客戶端
安裝完成Redis,我們就可以操作Redis,實現數據的CRUD了。這需要用到Redis客戶端。
4.1?Redis 命令行客戶端
Redis 安裝后就自帶了命令行客戶端,redis-cli, 使用方式如下。
redis-cli [options] [commonds]
其中常見的options有:
-h 127.0.0.1:指定要連接的redis節點的IP地址,默認是127.0.0.1
-p 6379:指定要連接的redis節點的端口,默認是6379
-a 123456:指定redis的訪問密碼?
commonds 就是Redis的操作命令,例如:
ping:與redis服務端做心跳測試,服務端正常會返回 pong
當然,在連接redis時指定密碼,還能連接后使用 AUTH 指定用戶名和密碼,這里我沒有用戶名,直接指定密碼就好了。
?
不指定commond時,會進入redis-cli的交互控制臺:
4.2?圖形化桌面客戶端
GitHub上的大神編寫了Redis的圖形化桌面客戶端,不過該倉庫提供的是RedisDesktopManager的源碼,并未提供windows安裝包。地址:https://github.com/uglide/RedisDesktopManager
在下面這個倉庫可以找到安裝包:
https://github.com/lework/RedisDesktopManager-Windows/releases
下載解壓后得到一個 exe 后綴的可執行文件,傻瓜式安裝即可。下面是連接到Linux中的redis。
?