什麼是redis,redis能作什麼,redis的應用場景

一、什麼是Redisredis

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

  

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

二、Redis特色服務器

Redis之內存做爲數據存儲介質,讀寫數據的效率極高。網絡

Redis跟memcache不一樣的是,儲存在Redis中的數據是持久化的,斷電或重啓,數據也不會丟失。數據結構

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

Redis能夠從磁盤從新將數據加載到內存中,也能夠經過配置文件對其進行配置,所以,redis才能實現持久化。函數

Redis支持主從模式,能夠配置集羣,更利於支撐大型的項目。工具

三、Redis應用場景,能作什麼測試

         衆多語言都支持Redis,由於Redis交換數據快,在服務器中經常使用來存儲一些須要頻繁調取的數據,節省內存開銷,也極大的提高了速度。

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

        一、會話緩存(最經常使用) 

        二、消息隊列(支付)

        三、活動排行榜或計數

        四、發佈,訂閱消息(消息通知)

        五、商品列表,評論列表

四、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類型的有序集合,也不可重複。有序集合中的每一個元素都須要指定一個分數,根據分數對元素進行升序排序。

五、redis的服務相關命令

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

      退出 # 退出鏈接

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

      monitor #  實時監控

      config  get  #  得到服務配置

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

       flushall # 刪除全部數據庫中的鍵

六、Redis的發佈與訂閱

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

             

 

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

 

七、Redis的持久化

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

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

             二、保存900 1               # 900秒內若是超過1個key被修改,則啓動快照保存

             三、保存300 10            # 300秒內若是超過10個key被修改,則啓動快照保存

             四、保存60 1000         # 60秒內若是超過10000個重點被修改,則啓動快照保存

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

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

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

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

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

                                              appendfsync   no               #徹底依賴操做系統,效率最佳,效果無法保證

八、Redis自帶相關測試工具

                 redis-benchmark   --help

                  redis-benchmark     -n   10000  -q

相關文章
相關標籤/搜索