什麼是Redis他能幹什麼

Redis介紹

       Redis 是一個開源(BSD許可)的,內存中的數據結構存儲系統,它可以用作數據庫、緩存和消息中間件。 它支持多種類型的數據結構,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 與範圍查詢, bitmaps, hyperloglogs 和 地理空間(geospatial) 索引半徑查詢。 Redis 內置了 複製(replication),LUA腳本(Lua scripting), LRU驅動事件(LRU eviction),事務(transactions) 和不同級別的 磁盤持久化(persistence), 並通過 Redis哨兵(Sentinel)和自動 分區(Cluster)提供高可用性(high availability)。

Redis官方網站

redis英文官網地址:
https://redis.io/
中文網站
http://www.redis.cn/

Nosql的適用場景(及舉例)

  • 對數據高併發的讀寫
  • 對數據高可擴展性的
  • 速度夠快,能夠快速的存取數據

1.取最新N個數據的操作

例如典型的取網站的最新文章、某一電商的最新訂單。

2.排行榜應用,取TOP N操作

經過排序後的前N想。例如評論最多的前10篇文章、訂單金額最多的前15名訂單。

3.需要精準設定過期時間的場景

微信撤回功能,兩分鐘內可以撤回,兩分鐘後過期無法撤回。微信紅包24小時未領取即過期。

4.計數器應用

Redis的命令都是原子性的,可以輕鬆地利用INCR,DECR命令來構建計用於計數的數器系統。

5.Uniq操作,獲取某段時間所有數據排重值

適用於對某段時間內所有數據進行去重。例如計算網站的UV數量。

6.Pub/Sub構建實時消息系統

Redis的Pub/Sub系統可以構建實時的消息系統,比如很多用Pub/Sub構建的實時聊天系統的例子。

8.緩存

       緩存最新的、最熱的、用戶最常用的數據。

9.構建隊列系統

 Nosql不適合的場景

  • 需要事務支持
  • 基於sql的結構化查詢存儲,處理複雜的關係,需要即席查詢(用戶自定義查詢條件的查詢)。

Nosql舉例

Memcache:目前常被使用,不只是數據持久化
Redis: 覆蓋Memcache功能,支持數據持久化
MongoDB:對value(尤其是json)提供了豐富的查詢功能,二進制數據及大型對象可以根據數據的特點替代RDBMS(關係數據庫管理系統)
Hase:海量數據、精確查找、快速返回 
Redis特點:
高效性:Redis讀取的速度是110000次/s,寫的速度是81000次/s
原子性:Redis的所有操作都是原子性的,同時Redis還支持對幾個操作全並後的原子性執行。
支持多種數據結構:string(字符串);list(列表);hash(哈希),set(集合);zset(有序集合)
穩定性:持久化,主從複製(集羣)
其他特性:支持過期時間,消息訂閱。

Redis的安裝

Redis的詳情安裝

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章