1、速度快?
不需要等待磁盤的IO,在內存之間進行的數據存儲和查詢,速度非常快。當然,緩存的數據總量不能太大,因為受到物理內存空間大小的限制。
2、支持多種數據庫類型
豐富的數據結構 除了string之外,還有list、hash、set、sortedset,一共五種類型。
3、單線程數據庫
單線程,避免了線程切換和鎖機制的性能消耗。
4、可持久化?
支持RDB與AOF兩種方式,將內存中的數據寫入外部的物理存儲設備。
5、支持發布/訂閱。
6、支持Lua腳本。
7、支持分布式鎖?
在分布式系統中,如果不同的節點需要訪同到一個資源,往往需要通過互斥機制來防止彼此干擾,并且保證數據的一致性。在這種情況下,需要使用到分布式鎖。分布式鎖和Java的鎖用于實現不同線程之間的同步訪問,原理上是類似的。
8、支持原子操作和事務Redis事務是一組命令的集合。
一個事務中的命令要么都執行,要么都不執行。如果命令在運行期間出現錯誤,不會自動回滾。
9、支持主從復制
支持主-從(Master-Slave)復制與高可用(Redis Sentinel)集群(3.0版本以上)
10、支持管道模式
支持管道Redis管道是指客戶端可以將多個命令一次性發送到服務器,然后由服務器一次性返回所有結果。管道技術的優點是:在批量執行命令的應用場景中,可以大大減少網絡傳輸的開銷,提高性能。
11、支持多種編程語言