推薦(免費):redis
文章目錄
三、Redis下載與安裝部署
四、Redis的幾個小知識
一、Redis是什麼Redis:REmote DIctionary Server(遠端字典伺服器)
高效能的(key/value)分散式記憶體資料庫,也是基於記憶體運行並支援持久化的NoSQL資料庫
,是目前最熱門的NoSql資料庫之一,也被人們稱為資料結構伺服器。同時,Redis也是一個簡單的、高效的、分散式的、基於記憶體的
Redis讀的速度是11萬次/s,寫的速度是8萬次/秒。
Redis支援的類型有String、Hash、List、Set以及Ordered Set資料庫類型。
Redis所有運算都是原子性的,透過MULTI和EXEC指令包起來。
Redis支援publish/subscribe、通知、key過期等特性。
5.高速讀寫
Redis也有以下幾個劣勢:
Redis直接將資料儲存在記憶體中,如果要將資料儲存到磁碟上,第一種方法是使用
①定時快照(snapshot):只追蹤變化的數據,但是追加的log可能過大,同時所有的操作均重新執行一遍,恢復速度慢。
2.耗記憶體,佔用記憶體過高。
二、Redis能幹什麼
Redis的常用情境實例如下:
#快取
現今快取幾乎是所有中型網站都在用的必殺技,合理的利用快取不僅能提升網站的存取速度,還能大幅降低資料庫的壓力。 Redis提供了鍵過期的功能,也提供了靈活的鍵淘汰策略。
排行榜
如淘寶的月度銷售清單、商品按時間的上新排行榜等。 Redis提供的有序集合資料類構能實現各種複雜的排行榜應用。
計數器
如電商網站商品的瀏覽量、影片網站影片的播放數等。為了確保資料即時效,每次瀏覽都得給 1,並發量高時如果每次都請求資料庫操作無疑是種挑戰和壓力。 Redis提供的incr指令來實現計數器功能,記憶體操作,效能非常好,非常適用於這些計數場景。
分散式會話
叢集模式下,在應用不多的情況下一般使用容器自帶的session複製功能就能滿足,在應用在增加相對複雜的系統中,一般都會搭建以Redis等記憶體資料庫為中心的session服務,session不再由容器管理,而是由session服務及記憶體資料庫管理。
分散式鎖定
分散式技術帶來的技術挑戰是對同一個資源的並發訪問,如全域ID、減庫存、秒殺等場景,並發量不大的場景可以使用資料庫的悲觀鎖、樂觀鎖來實現,但在並發量高的場合中,利用資料庫鎖來控制資源的並發存取是不太理想的,大大影響了資料庫的效能。可以利用Redis的setnx功能來編寫分散式的鎖,如果設定回傳1說明取得鎖成功,否則取得鎖失敗,實際應用中要考慮的細節要更多。
社群網路
讚、踩、追蹤/被追蹤、共同好友等是社群網站的基本功能,社群網站的訪問量通常來說比較大,而且傳統的關聯式資料庫類型不適合用來儲存這種類型的數據,Redis提供的雜湊、集合等資料結構能很方便的實作這些功能。
訊息系統
訊息佇列是大型網站必用中介軟體,如ActiveMQ、RabbitMQ、Kafka等流行的訊息佇列中間件,主要用於業務解耦、流量削峰及非同步處理即時性低的業務。 Redis提供了發布/訂閱及阻塞佇列功能,能實現一個簡單的訊息佇列系統。但是,這個不能和專業的訊息中間件相比。
三、Redis下載與安裝部署
#Redis英文官網。
Redis中文網站。
由於企業裡面做Redis開發,99%都是Linux版的運用與安裝,所以本文只介紹Linux下的安裝與運行,Windows下的安裝使用小夥伴們可以自行百度。前往上面的官網點擊Download下載.gz
安裝套件後,放在Linux下的/opt
目錄 (我這裡安裝的是Redis的6.0.5版本)。
tar -zxvf redis-6.0.5.tar.gz
上述指令只是解壓縮了Redis,如果想要安裝Redis,需要Linux系統有gcc環境,如果沒有可以使用
yum install gcc-c
安裝,然後使用gcc -v
檢視版本。
如果Linux環境已經有了gcc環境,直接使用下面的指令來安裝:
make install
安裝好預設是像Tomcat一樣不能開機自啟動的,可以修改redis.conf 檔案中的daemonize 屬性為yes。
redis-server /myredis/redis.conf
(此處為修改屬性後的redis設定檔)
#正常關閉,資料會進行儲存 在redis命令列中使用
shutdown命令關閉。
非正常關閉,易導致資料遺失 斷電、手動kill掉redis進程等。
幾個其他的redis指令
#四、Redis的幾個小知識
# Redis是一個單一進程,使用單一進程模型來處理客戶端的請求。對讀寫等事件的反應是透過對epoll函數的包裝來做到的。 Redis的實際處理速度完全依賴主程序的執行效率。epoll是Linux核心為處理大批量檔案描述符而作了改進的epoll,是Linux下多路復用IO介面select/poll的增強版本,它能顯著提高程式在大量並發連線中只有少量活躍的情況下的系統CPU利用率。
SELECT 指令連接上指定資料庫。
dbsize指令可以查看目前資料庫的key的數量,
keys *查看所有的key。
flushdb:清空目前函式庫(慎用)
Flushall:清空全部庫(慎用)
####################################################################################所以####更多相關免費學習推薦:###redis入門教學############
以上是小記 Redis介紹與安裝部署的詳細內容。更多資訊請關注PHP中文網其他相關文章!