什么是redis,redis能做什么,redis的應用場景


1、什么是Redis

    Redis是一款內存高速緩存數據庫。Redis全稱為:Remote     Dictionary    Server (遠程數據服務),使用C語言編寫,Redis是一個key-value存儲系統(鍵值存儲系統),支持豐富的數據類型,如:String、list、set、zset、hash。

  

                                 Redis是一種支持key-value等多種數據結構的存儲系統。可用於緩存,事件發布或訂閱,高速隊列等場景。使用C語言編寫,支持網絡,提供字符串,哈希,列表,隊列,集合結構直接存取,基於內存,可持久化。

2、Redis特點

Redis以內存作為數據存儲介質,讀寫數據的效率極高。

Redis跟memcache不同的是,儲存在Redis中的數據是持久化的,斷電或重啟,數據也不會丟失。

Redis的存儲分為內存存儲、磁盤存儲和log文件。

Redis可以從磁盤重新將數據加載到內存中,也可以通過配置文件對其進行配置,因此,redis才能實現持久化。

Redis支持主從模式,可以配置集群,更利於支撐大型的項目。

3、Redis應用場景,能做什么

         眾多語言都支持Redis,因為Redis交換數據快,在服務器中常用來存儲一些需要頻繁調取的數據,節省內存開銷,也極大的提升了速度。

        將一些熱點數據存儲到Redis中,要用的時候,直接從內存取,極大的提高了速度和節約了服務器的開銷。

        1、會話緩存(最常用) 

        2、消息隊列(支付)

        3、活動排行榜或計數

        4、發布,訂閱消息(消息通知)

        5、商品列表,評論列表

4、Redis數據類型

        Redis一共支持五種數據類型:String(字符串)、hash(哈希)、list(列表)、set(集合)和zset(sorted  set有序集合)

        String(字符串):Redis最基本的數據類型,一個鍵對應一個值,一個鍵值最大存儲512MB

        Hash(哈希):hash是一個鍵值對的集合,是一個String類型的field和value的映射表,適合用於存儲對象

        List(列表):是redis的簡單的字符串列表,按插入順序排序

        Set(集合):是String字符串類型的無序集合,也不可重復

        ZSet(sorted  set  有序集合)是String類型的有序集合,也不可重復。有序集合中的每個元素都需要指定一個分數,根據分數對元素進行升序排序。

5、redis的服務相關命令

      slect#選擇數據庫(數據庫編號0-15)

      退出 # 退出連接

      信息 # 獲得服務的信息與統計

      monitor #  實時監控

      config  get  #  獲得服務配置

       flushdb #  刪除當前選擇的數據庫中的key

       flushall # 刪除所有數據庫中的鍵

6、Redis的發布與訂閱

        Redis的發布與訂閱(發布、訂閱)是它的一種消息通信模式,一方發送信息,一方接收信息

             

 

 下圖是有新消息發送給頻道1時,就會將消息發送給訂閱它的三個客戶端

 

7、Redis的持久化

Redis持久有兩種方式:快照(RDB),僅附加文件(AOF)

快照(RDB):1、將存儲在內存的數據以快照的方式寫入二進制文件中,默認dump.rdb中

             2、保存900 1               # 900秒內如果超過1個key被修改,則啟動快照保存

             3、保存300 10            # 300秒內如果超過10個key被修改,則啟動快照保存

             4、保存60 1000         # 60秒內如果超過10000個重點被修改,則啟動快照保存

僅附加文件(AOF):1、使用AOF持久時,服務會將每個收到的寫命令通過寫函數追加到文件中(appendonly.aof)

                                        2、AOF持久化存儲方式參數說明

                                             appendonly  yes    #開啟AOF持久化存儲方式

                                             appendfsync   always   #收到寫命令后就立即寫入磁盤,效率最差,效果最好

                                             appendfsync   everysec     #每秒寫入磁盤一次   效率與效果居中

                                              appendfsync   no               #完全依賴操作系統,效率最佳,效果沒法保證

8、Redis自帶相關測試工具

                 redis-benchmark   --help

                  redis-benchmark     -n   10000  -q

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM