天天看點

Redis(一) —— NoSQL四大分類以及Redis概述Redis(一) —— NoSQL四大分類以及Redis概述

Redis(一) —— NoSQL四大分類以及Redis概述

1、NoSQL四大分類

NoSQL資料庫的四種類型是:

1、鍵值資料庫,應用于分布式資料存儲與管理;

2、列存儲資料庫,用于分布式資料存儲與管理;

3、文檔資料庫,應用于存儲索引并管理面向文檔的資料或者類似的半結構化資料;

4、圖形資料庫。

NoSQL資料庫的四大分類表格:

Redis(一) —— NoSQL四大分類以及Redis概述Redis(一) —— NoSQL四大分類以及Redis概述

2、Redis概述

Redis 簡介
Redis(一) —— NoSQL四大分類以及Redis概述Redis(一) —— NoSQL四大分類以及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(一) —— NoSQL四大分類以及Redis概述Redis(一) —— NoSQL四大分類以及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

繼續閱讀