redis介紹安裝配置
阿新 • • 發佈:2022-03-07
第一章 redis初識
1.1 Redis是什麼
介紹
開源:早起版本2w3千行
基於鍵值對的儲存系統:字典形式
多種資料結構:字串,hash,列表,集合,有序集合
高效能,功能豐富
那些公司在用
github,twitter,stackoverflow,阿里,百度,微博,美團,搜狐
1.2 Redis特性(8個)
速度快:10w ops(每秒10w讀寫),資料存在記憶體中,c語言實現,單執行緒模型
持久化:rdb和aof
多種資料結構:
5大資料結構
BitMaps點陣圖:布隆過濾器 本質是 字串
HyperLogLog:超小記憶體唯一值計數,12kb HyperLogLog 本質是 字串
GEO:地理資訊定位 本質是有序集合
支援多種程式語言:基於tcp通訊協議,各大程式語言都支援
功能豐富:釋出訂閱(訊息) Lua指令碼,事務(pipeline)
簡單:原始碼幾萬行,不依賴外部庫
主從複製:主伺服器和從伺服器,主伺服器可以同步到從伺服器中
高可用和分散式:
2.8版本以後使用redis-sentinel支援高可用
3.0版本以後支援分散式
1.3 Redis單機安裝
1.3.1下載安裝
#下載 wget http://download.redis.io/releases/redis-5.0.7.tar.gz #解壓 tar -xzf redis-5.0.7.tar.gz #建立軟連線 ln -s redis-5.0.7redis cd redis make&&make install #在src目錄下可以看到 #redis-server--->redis伺服器 #redis-cli---》redis命令列客戶端 #redis-benchmark---》redis效能測試工具 #redis-check-aof--->aof檔案修復工具 #redis-check-dump---》rdb檔案檢查工具 #redis-sentinel---》sentinel伺服器,哨兵 #redis作者對windows維護不好,window自己有安裝包 ####解除安裝redis # 1、檢視redis程序; ps aux|grep redis # 2、kill掉程序; kill 程序id # 3、進入到redis目錄 cd /usr/local/ # 4、刪除redis對應的檔案 rm -f /usr/local/redis/bin/redis* rm -f /usr/local/bin/redis* # 5、刪除對應的檔案 rm -rf redis
1.3.2三種啟動方式
1.3.2.1 最簡啟動
#最簡啟動 redis-server ps -ef|grep redis #檢視程序 netstat -antpl|grep redis #檢視埠 redis-cli -h ip -p port ping #命令檢視
1.3.2.2 動態引數啟動
#動態引數啟動 redis-server --port 6380 #啟動,監聽6380埠
1.3.2.2 配置檔案啟動
#配置檔案啟動(6379對應手機按鍵MERZ,義大利女歌手Alessia Merz的名字) #####通過redis-cli連線,輸入config get * 可以獲得預設配置 #在redis目錄下建立config目錄,copy一個redis.conf檔案 #daemonize--》是否是守護程序啟動(no|yes) #port---》埠號 #logfile--》redis系統日誌 #dir--》redis工作目錄
配置檔案
#檢視一下預設註釋,把#和空格去掉 cat redis.conf|grep -v "#" |grep -v "^$" #重定向到另一個檔案 cat redis.conf|grep -v "#" |grep -v "^$" >redis-6382.conf ''' daemonize yes #是否以守護程序啟動 pidfile /var/run/redis.pid #程序號的位置,刪除 port 6379 #埠號 dir "/opt/soft/redis/data" #工作目錄 logfile “6379.log” #日誌位置 #其他全刪掉 ''' #在redis目錄下新建data目錄,用來存放書籍 #啟動redis redis-server config/redis.conf #檢視程序 ps -ef |grep redis-server |grep 6379 #檢視日誌 cd data cat 6379.log
1.3.3 客戶端連線(命令)
###客戶端連線### redis-cli -h 127.0.0.1 -p 6379 ping #返回PONG ## 有密碼的情況可以兩種登陸方式 # 方式一 redis-cli -h 127.0.0.1 -p 6370 -a 123456 # 方式二 先登陸,再通過auth輸入密碼 ## redis-cli進入 CONFIG GET * 一百多對建值 CONFIG SET maxmemory 128M # 設定最大使用的記憶體 CONFIG set requirepass 123456 # 設定密碼 CONFIG REWRITE # 儲存到配置檔案
1.3.4 redis返回值
####redis返回值 狀態回覆:ping---》PONG 錯誤回覆:hget hello field ---》(error)WRONGTYPE Operation against 整數回覆:incr hello---》(integer) 1 字串回覆:get hello---》"world" 多行字串回覆:mget hello foo---》"world" "bar"
1.4 Redis典型使用場景
快取系統:使用最廣泛的就是快取
計數器:網站訪問量,轉發量,評論數(文章轉發,商品銷量,單執行緒模型,不會出現併發問題)
訊息佇列:釋出訂閱,阻塞佇列實現(簡單的分散式,blpop:阻塞佇列,生產者消費者)
排行榜:有序集合(閱讀排行,點贊排行,推薦(銷量高的,推薦))
社交網路:很多特效跟社交網路匹配,粉絲數,關注數
實時系統:垃圾郵件處理系統,布隆過濾器