redis簡介
redis是一個c編寫的key-value數據庫
redis的特點
- 數據存儲在內存中,高性能
- 支持數據持久化,可以將數據持久化到硬盤
- 支持數據備份。redis存儲的數據有2份,一份在內存中,一份持久化到硬盤,會自動將內存中的數據同步到硬盤
- 數據結構豐富,支持hash,list,set,zset(sorted set)
- 特性豐富,提供發佈/訂閱、 key 過期等特性
- 支持事務
redis常見的使用場景
- 緩存數據庫的查詢結果
- 分佈式系統的數據共享,比如session共享
- 任務隊列,比如實現秒殺、搶購、搶票等用戶|訂單隊列
- 數據過期處理(key的有效期),到期自動刪除數據
redis的安裝
官方只提供了linux版,微軟搞了個山寨的win版,可以在github上下載。
.tar.gz中的是redis源碼,需要自己編譯、安裝
# 先檢查有沒有安裝c語言的編譯器,沒有安裝就裝上
yum list installed | grep gcc
yum install gcc
# 將.tar.gz放到/usr/local下
# 解壓
tar -xzvf redis-5.0.7.tar.gz
rm redis-5.0.7.tar.gz
# 進入解壓目錄
cd redis-5.0.7
# 編譯
make
# 新建一個目錄作爲安裝目錄
makedir /usr/local/redis
# 安裝,指定安裝目錄
make install PREFIX=/usr/local/redis
# 開啓防火牆的6379端口
firewall-cmd --zone=public --add-port=6379/tcp --permanent
firewall-cmd --reload
解壓目錄中的很多配置文件、編譯生成的程序後續還要使用,不要刪除。
安裝redis服務、開機自啓
切換到安裝目錄/usr/local/redis
- 新建目錄conf作爲配置目錄,把解壓目錄下的redis.conf複製到conf下
- 新建目錄logs作爲日誌目錄,logs下新建文件redis.log
- 新建目錄data存儲數據備份
運行解壓目錄下的utils/install_server.sh,根據提示設置路徑
默認的路徑東一個、西一個,使用時不好找,更換爲我們上面新建的目錄,統一放下安裝目錄下。
檢查一下設置,按Enter安裝服務,如果路徑寫錯了按Ctrl+C取消安裝,重新來。
安裝服務後,默認已開啓redis-server、且redis-server開機自啓。
redis的配置
編輯redis的配置文件
vim conf/redis.conf
1、/bind 搜索關鍵字bind,綁定linux的實際ip地址
綁定實際ip後,其它機器才能連上redis;綁定127.0.0.1,本地的redis-cli才能連接上redis server,默認只綁定了127.0.0.1,需要加上機器的實際ip
bind 127.0.0.1 192.168.1.7
2、/daemonize 搜索關鍵字daemonize,修改爲yes,後臺啓動
3、/requirepass 搜索關鍵字requirepass,設置密碼(可選)
默認是註釋掉的,不需要密碼就可連接到redis服務器。
也可連接到redis server後,使用命令來設置密碼
# xxx換爲自己的密碼
config set requirepass xxx
# 寫到配置文件中,永久有效,若不使用此句命令,只在本次連接期間有效
config rewrite
4、重啓redis server,使配置生效
service redis_6379 restart
redis server的啓動、關閉
2種方式
1、執行安裝目錄下的bin/redis-server
# 啓動redis server,指定配置文件位置
./redis-server conf/redis.conf
# 關閉redis server,通過redis-cli發送給redis server一個shutdown命令
./redis-cli shutdown
2、服務方式(推薦)
service redis_6379 start
service redis_6379 stop
service redis_6379 restart
systemctl start redis_6379
systemctl stop redis_6379
systemctl restart redis_6379
安裝redis服務時,服務名默認使用redis_port,如果安裝服務之前修改了redis的端口號,port部分是修改後的端口號。
不用cd到安裝目錄,也不用指定配置文件位置,很方便。
連接到redis server
2種方式
1、使用安裝目錄/bin下的redis-cli
# 默認-h是127.0.0.1,-p是6379。如果redis.conf中沒有bind 127.0.0.1綁定本地ip,本地是連不上的
./redis-cli
./redis-cli -h 192.168.1.7 -p 6379
# 如果設置了密碼,需要驗證密碼,xxx是自己的密碼
auth xxx
2、使用Redis Desktop Manager(收費、推薦)
除了能操作redis,還能分析統計redis的情況
驗證填redis server的密碼,如果redis server沒有設置密碼,不填驗證。