Redis(一) —— NoSQL四大分類以及Redis概述
1、NoSQL四大分類
NoSQL資料庫的四種類型是:
1、鍵值資料庫,應用于分布式資料存儲與管理;
2、列存儲資料庫,用于分布式資料存儲與管理;
3、文檔資料庫,應用于存儲索引并管理面向文檔的資料或者類似的半結構化資料;
4、圖形資料庫。
NoSQL資料庫的四大分類表格:
2、Redis概述
Redis 簡介
Redis (Remote DIctionary Server) 是一個由 Salvatore Sanfilippo 寫的一個高性能的 key-value 存儲系統,是跨平台的非關系型資料庫。
Redis 是一個開源的使用 ANSI C 語言編寫、遵守 BSD 協定、支援網絡、可基于記憶體、分布式、可選持久性的鍵值對(Key-Value)存儲資料庫,并提供多種語言的 API。
Redis 通常被稱為資料結構伺服器,因為值(value)可以是字元串(String)、哈希(Hash)、清單(list)、集合(sets)和有序集合(sorted sets)等類型。
Redis支援主從同步。資料可以從主伺服器向任意數量的從伺服器上同步,從伺服器可以是關聯其他從伺服器的主伺服器。
Redis 與其他 key - value 緩存産品有以下三個特點:
- Redis支援資料的持久化,可以将記憶體中的資料儲存在磁盤中,重新開機的時候可以再次加載進行使用。
- Redis不僅僅支援簡單的key-value類型的資料,同時還提供list,set,zset,hash等資料結構的存儲。
- Redis支援資料的備份,即master-slave模式的資料備份。
Redis 優勢
- 性能極高 – Redis能讀的速度是110000次/s,寫的速度是81000次/s 。
- 豐富的資料類型 – Redis支援二進制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 資料類型操作。
- 原子 – Redis的所有操作都是原子性的,意思就是要麼成功執行要麼失敗完全不執行。單個操作是原子性的。多個操作也支援事務,即原子性,通過MULTI和EXEC指令包起來。
- 豐富的特性 – Redis還支援 publish/subscribe, 通知, key 過期等等特性。
Redis 與其他 key-value 存儲有什麼不同?
- Redis有着更為複雜的資料結構并且提供對他們的原子性操作,這是一個不同于其他資料庫的進化路徑。Redis的資料類型都是基于基本資料結構的同時對程式員透明,無需進行額外的抽象。
- Redis運作在記憶體中但是可以持久化到磁盤,是以在對不同資料集進行高速讀寫時需要權衡記憶體,因為資料量不能大于硬體記憶體。在記憶體資料庫方面的另一個優點是,相比在磁盤上相同的複雜的資料結構,在記憶體中操作起來非常簡單,這樣Redis可以做很多内部複雜性很強的事情。同時,在磁盤格式方面他們是緊湊的以追加的方式産生的,因為他們并不需要進行随機通路。
支援語言
許多語言都包含Redis支援,包括:
相關資源
Redis官網:https://redis.io/
Redis中文官網:http://www.redis.cn/
Redis GitHub 源碼位址:https://github.com/redis/redis
Redis中文文檔:https://www.kancloud.cn/wizardforcel/redis-doc/103379