一、redis的理論概要了解
1.redis是完全開源免費的,遵守“BSD”協議,是一個高性能(NOSQL)的key-value數據庫;redis是一個開源的使用ANSI C語言編寫、支持網絡、可基於內存亦可持久化的日誌型、Key-Value數據庫,並提供多種語言的API;
2.redis的特點:
- 性能極高-Redis讀的速度是110000次/s,寫的速度是81000次/s
- 豐富的數據類型-Redis支持的類型String,Hash,List,Set及Ordered Set數據類型操作
- 原子性-Redis的所有操作都是原子性的,意思就是要麼成功要麼失敗完全不執行。單個操作是原子性的。多個操作也支持事務,即原子性,通過MULTI和EXEC指令包起來
- 豐富的特性-Redis還支持publish/subscribe,通知,key過期等特性
- 高速讀寫-redis使用自己實現的分離器,代碼量很短,沒有使用lock(MySQL),因此效率非常高。
簡單總結:簡單的高效的,基於內存的緩存工具。
3.Redis的應用場景:企業級開發中,可以用於數據庫、緩存、熱點數據(經常會被查詢,但是不經常被修改或者刪除的數據)和消息中間件等大部分功能
4.Redis的缺點:
- 持久化。redis直接將數據存儲到內存中,要將數據保存到磁盤中,redis可以使用兩種方式實現持久化過程。定時快照(snapshot):每隔一段時間將整個數據庫寫到磁盤上,每次均是全部數據,代價非常高。第二種方式基於語句追加(aof):只追蹤變化的數據,但是追加的log可能過大,同時所有的操作均重新執行一次,回覆速度慢。
- 耗內存,佔用內存過大;
二、redis在linux系統中安裝部署
官方網站:https://redis.io 【備註】:.io表示國家級的
官方下載:https://redis.io/download 【備註】redis適用於linux系統下,沒有Windows系統支持的版本;
1.redis是C語言編寫的,需要編譯,需要gcc環境;
sudo yum -y install gcc automake autoconf libtool make
2.下載redis的tar.gz包,可以直接在瀏覽器下載,可以通過命令wget下載;
#root權限,指定下載到redis目錄下
sudo wget -P redis http://download.redis.io/releases/redis-6.0.3.tar.gz
3.解壓、提取和編譯Redis(若編譯出錯,考慮是否安裝了gcc環境或版本一般5.x.x的使用make編譯不會報錯,6.x.x會報錯)
$ sudo tar zxvf redis-6.0.3.tar.gz #解壓 或者:下面指定目錄解壓
$ sudo tar zvxf redis-6.0.3.tar.gz -C /opt #指定目錄解壓
$ cd redis-6.0.3
$ sudo make #編譯
4.指定位置安裝,PREFIX必須大寫、同時會自動創建redis目錄,並將結果安裝此目錄
#管理員權限 指定安裝位置安裝
sudo make PREFIX=/usr/local/redis install
三、redis的啓動
在上面安裝好了redis後,我們進入redis的安裝目錄的bin中,可以看到如下:
1.啓動服務端
./redis-server
2.啓動客戶端
./redis-cli
四、redis的配置……
redis默認定義了很多默認設置。但實際開發中,一般我們會通過手動配置完成。redis的配置文件在redis安裝目錄下,redis.conf
步驟1:複製解壓的redis安裝包中的redis.conf至安裝目錄下
cp redis.conf /usr/local/redis/
步驟2:修改redis.conf
修改後,ctrl+z關閉服務端、客戶端,重新啓動:
./redis-server ./redis.conf
./redis-cli ./redis.conf
五、docker下安裝redis
搜索redis:docker search redis
下載鏡像:docker pull redis:5.0.8
創建並運行容器(端口、密碼都一同設置):docker run -d --name redis -p 6379:6379 redis:5.0.8 --requirepass "root"