首先介紹一下Redis,Redis是一個高性能的Key-value數據庫,它屬於NoSQL數據庫。
關於NoSQL數據庫我們在這裏也做一下簡單的介紹,數據庫分爲關係型數據庫比如MySQL和非關係型數據庫如今天我們說道的Redis數據庫,和新式的數據庫(結合兩種數據庫衍生出來的新式數據庫),他們兩個的區別在這裏我們先不做詳細解釋,這裏只是簡單的介紹一下吧:
對於NoSQL數據庫他是全稱(not only sql),它的特點是:
- 不支持SQL語法
- 存儲結構跟傳統的關係型數據庫中的那種關係表完全不同,nosql中存儲的數據都是key-value形式的
- NoSQL的世界沒有一種通用的語言,每種nosql數據庫都有自己的api和語法,以及擅長的業務場景
- NoSQL中的產品種類相當多: Mongodb Redis Hbase hadoop Cassandra hadoop 等
‘事務’特性的支持:sql對事物的支持非常完善,而nosql基本不支持事務
下面我們來說一下關於Redis的介紹:
Redis是一個開源的使用ANSI C語言編寫、支持網絡、可基於內存亦可持久化的日誌型、key-value數據庫,並且提供多種語言的API。
Redis是NoSQL技術陣營中的一員,它通過多種鍵值對數據類型來適應不同的場景下的存儲需求,藉助一些高層級的藉口使用其可以勝任,如 緩存、隊列系統的不同角色。
Redis特性:
Redis與其他key-value緩存產品有以下三個特點:
- Redis支持數據的持久化,可以將內存中的數據保存在磁盤中,重啓時候可以再次加載進行使用。
- Redis不僅僅支持簡單的key-redis類型的數據,同事還提供了list,set,zset,hash等數據結構的存儲。
- Redis支持數據的備份,即master-slave模式的數據備份。
- 性能極高 Redis能讀的速度是110000次每秒,寫的速度是81000次每秒。
- 豐富的數據類型 Redis支持二進制案例的 String,List,Hashes,Sers(無序集合)及Ordered Sers(有序集合)數據類型的操作。
- 原子 Redis的所有操作都是原子性的,同時Redis還支持對集合操作合併後的原子性的執行。
Redis應用場景
- 用來作緩存(ehcache/memcached) redis的所有數據是放在內存中的
- 可以在某些特定的應用場景下替換傳統的數據庫 比如社交類的應用
- 在一些大型系統中,巧妙地實現一些特定的功能:四五十四年共享。購物車等