首頁  >  文章  >  資料庫  >  小記 Redis介紹與安裝部署

小記 Redis介紹與安裝部署

coldplay.xixi
coldplay.xixi轉載
2021-02-24 09:52:301426瀏覽

小記 Redis介紹與安裝部署

推薦(免費):redis

文章目錄

  • #一、Redis是什麼

二、Redis能做什麼

三、Redis下載與安裝部署

四、Redis的幾個小知識

一、Redis是什麼Redis:REmote DIctionary Server(遠端字典伺服器)

Redis是完全開源免費的,用C語言編寫的,遵守BSD協議的一個

高效能的(key/value)分散式記憶體資料庫,也是基於記憶體運行並支援持久化的NoSQL資料庫

,是目前最熱門的NoSql資料庫之一,也被人們稱為資料結構伺服器。同時,Redis也是一個簡單的、高效的、分散式的、基於記憶體的
    快取工具
  • 。架構好伺服器後,透過網路連接(類似資料庫),提供Key-Value式快取服務。
  • Redis有以下幾個優點:
  • #1.極高效能 Redis讀的速度是11萬次/s,寫的速度是8萬次/秒。
  • 2.豐富的資料類型 Redis支援的類型有String、Hash、List、Set以及Ordered Set資料庫類型。
  • 3.原子性 Redis所有運算都是原子性的,透過MULTI和EXEC指令包起來。
4.豐富的讀寫

Redis支援publish/subscribe、通知、key過期等特性。

5.高速讀寫
    redis使用自己實作的分離器,程式碼量很短,沒有使用lock(MySQL),因此效率非常高。
  • Redis也有以下幾個劣勢:
  • #1.持久化 Redis直接將資料儲存在記憶體中,如果要將資料儲存到磁碟上,第一種方法是使用①定時快照(snapshot)
  • :每隔一段時間將整個資料庫寫到磁碟上,每次均是寫全部數據,但是代價非常高;第二種方法是
②基於語句追加(aof)

:只追蹤變化的數據,但是追加的log可能過大,同時所有的操作均重新執行一遍,恢復速度慢。

2.耗記憶體

,佔用記憶體過高。

二、Redis能幹什麼

  • 企業開發中,可以將Redis當作資料庫、快取、熱點資料(經常被查詢但是不被修改和刪除的數據)、訊息中間件等大部分功能。

    Redis的常用情境實例如下:

  • #快取
    現今快取幾乎是所有中型網站都在用的必殺技,合理的利用快取不僅能提升網站的存取速度,還能大幅降低資料庫的壓力。 Redis提供了鍵過期的功能,也提供了靈活的鍵淘汰策略。

  • 排行榜
    如淘寶的月度銷售清單、商品按時間的上新排行榜等。 Redis提供的有序集合資料類構能實現各種複雜的排行榜應用。

  • 計數器
    如電商網站商品的瀏覽量、影片網站影片的播放數等。為了確保資料即時效,每次瀏覽都得給 1,並發量高時如果每次都請求資料庫操作無疑是種挑戰和壓力。 Redis提供的incr指令來實現計數器功能,記憶體操作,效能非常好,非常適用於這些計數場景。

  • 分散式會話
    叢集模式下,在應用不多的情況下一般使用容器自帶的session複製功能就能滿足,在應用在增加相對複雜的系統中,一般都會搭建以Redis等記憶體資料庫為中心的session服務,session不再由容器管理,而是由session服務及記憶體資料庫管理。

  • 分散式鎖定
    分散式技術帶來的技術挑戰是對同一個資源的並發訪問,如全域ID、減庫存、秒殺等場景,並發量不大的場景可以使用資料庫的悲觀鎖、樂觀鎖來實現,但在並發量高的場合中,利用資料庫鎖來控制資源的並發存取是不太理想的,大大影響了資料庫的效能。可以利用Redis的setnx功能來編寫分散式的鎖,如果設定回傳1說明取得鎖成功,否則取得鎖失敗,實際應用中要考慮的細節要更多。

  • 社群網路
    讚、踩、追蹤/被追蹤、共同好友等是社群網站的基本功能,社群網站的訪問量通常來說比較大,而且傳統的關聯式資料庫類型不適合用來儲存這種類型的數據,Redis提供的雜湊、集合等資料結構能很方便的實作這些功能。

    ############最新列表###### Redis列表結構,LPUSH可以在列表頭部插入一個內容ID作為關鍵字,LTRIM可用來限制列表的數量,這樣列表永遠為N個ID,無需查詢最新的列表,直接根據ID去到對應的內容頁即可。 ###
  • 訊息系統
    訊息佇列是大型網站必用中介軟體,如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服務:redis-server /myredis/redis.conf(此處為修改屬性後的redis設定檔)
##查看後台Redis服務是否啟動:

  • ps -ef|grep redis
開啟Redis服務:

  • redis-cli -p 6379
    小記 Redis介紹與安裝部署

#正常關閉,資料會進行儲存 在redis命令列中使用
shutdown命令關閉。

非正常關閉,易導致資料遺失 斷電、手動kill掉redis進程等。

幾個其他的redis指令


小記 Redis介紹與安裝部署

#四、Redis的幾個小知識

# Redis是一個單一進程,使用單一進程模型來處理客戶端的請求。對讀寫等事件的反應是透過對epoll函數的包裝來做到的。 Redis的實際處理速度完全依賴主程序的執行效率。

epoll是Linux核心為處理大批量檔案描述符而作了改進的epoll,是Linux下多路復用IO介面select/poll的增強版本,它能顯著提高程式在大量並發連線中只有少量活躍的情況下的系統CPU利用率。

  • Redis預設有16個資料庫,下標從零開始,初始預設使用零號庫,可以使用

    SELECT 指令連接上指定資料庫。
    小記 Redis介紹與安裝部署

  • dbsize指令可以查看目前資料庫的key的數量,keys *查看所有的key。
    小記 Redis介紹與安裝部署

  • flushdb:清空目前函式庫(慎用)

  • Flushall:清空全部庫(慎用)

  • 統一密碼管理,16個函式庫都是一樣密碼,要嘛都OK要嘛一個也連接不上。

  • Redis索引都是從零開始

  • Redis預設連接埠是6379

####################################################################################所以####更多相關免費學習推薦:###redis入門教學############

以上是小記 Redis介紹與安裝部署的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:csdn.net。如有侵權,請聯絡admin@php.cn刪除