1. 程式人生 > 其它 >redis介紹安裝配置

redis介紹安裝配置

第一章 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.7
redis 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:阻塞佇列,生產者消費者)

排行榜:有序集合(閱讀排行,點贊排行,推薦(銷量高的,推薦))

社交網路:很多特效跟社交網路匹配,粉絲數,關注數

實時系統:垃圾郵件處理系統,布隆過濾器