rem詳解

一、初識Redis

Redis(Remote Dictionary Server):遠程字典服務。數據庫

是一個開源的使用ANSIC語言編寫、支持網絡、可基於內存亦可持久化的日誌型、Key-Value數據庫,並提供多種語言的API。緩存

簡單來講:Redis 是一個基於內存的高性能key-value數據庫。一般被稱爲數據結構服務器,由於值(value)能夠是 字符串(String), 哈希(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等類型。服務器

ANSI:是一種字符代碼網絡

二、爲何要使用Redis

Redis徹底開源免費,遵照BSD協議,是高性能的key-value數據庫。數據結構

Redis做爲一種緩存工具,主要用於解決高併發的問題,在分佈式系統中有着極其普遍的應用。併發

BSD協議,想要了解點擊前往分佈式

2.一、Redis優勢

  • 速度快,性能高--- Redis每秒能夠處理超過10萬次讀寫操做。高併發

    • Redis能讀的速度是110000次/s,寫的速度是81000次/s 。
  • 支持豐富的數據類型--- 支持Strings、 Lists、 Hashes、 Sets、Ordered Sets 數據類型操做。
  • 支持事務--- Redis操做都是原子性的,所謂的原子性就是對數據的更改要麼所有執行,要麼所有不執行。
  • 豐富的特性-- -可用於緩存,消息,按key設置過時時間,過時後將會自動刪除

2.二、Redis特性

  • 數據的持久化 --- Redis支持數據的持久化,能夠將內存中的數據保存在磁盤中,重啓的時候能夠再次加載進行使用。
  • 數據的備份 --- Redis支持數據的備份,即master-slave模式的數據備份。

三、擴展

3.一、什麼是原子性,什麼是原子性操做

A想要從本身的賬戶中轉1000塊錢到B的賬戶裏。那個從A開始轉賬,到轉賬結束的這一個過程,稱之爲一個事務。在這個事務裏,要作以下操做:工具

    1. 從A的賬戶中減去1000塊錢。若是A的賬戶原來有3000塊錢,如今就變成2000塊錢了。
    1. 在B的賬戶里加1000塊錢。若是B的賬戶若是原來有2000塊錢,如今則變成3000塊錢了。

若是在A的賬戶已經減去了1000塊錢的時候,突然發生了意外,好比停電什麼的,致使轉賬事務意外終止了,而此時B的賬戶裏尚未增長1000塊錢。那麼,咱們稱這個操做失敗了,要進行回滾。回滾就是回到事務開始以前的狀態,也就是回到A的賬戶還沒減1000塊的狀態,B的賬戶的原來的狀態。此時A的賬戶仍然有3000塊,B的賬戶仍然有2000塊。性能

咱們把這種要麼一塊兒成功(A賬戶成功減小1000,同時B賬戶成功增長1000),要麼一塊兒失敗(A賬戶回到原來狀態,B賬戶也回到原來狀態)的操做叫原子性操做。

若是把一個事務可看做是一個程序,它要麼完整的被執行,要麼徹底不執行。這種特性就叫原子性。

相關文章
相關標籤/搜索