Redis的一點筆記
阿新 • • 發佈:2017-09-26
類型 什麽是 class 事務 tro 中轉 key publish 什麽
Redis 是完全開源免費的,遵守BSD協議,是一個高性能的key-value數據庫。
Redis 優勢:
- 性能極高 – Redis能讀的速度是110000次/s,寫的速度是81000次/s 。
- 豐富的數據類型 – Redis支持二進制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 數據類型操作。
- 原子 – Redis的所有操作都是原子性的,同時Redis還支持對幾個操作全並後的原子性執行。
- 豐富的特性 – Redis還支持 publish/subscribe, 通知, key 過期等等特性。
優勢之三原子:
什麽是原子性,什麽是原子性操作?
舉個例子:
A想要從自己的帳戶中轉1000塊錢到B的帳戶裏。那個從A開始轉帳,到轉帳結束的這一個過程,稱之為一個事務。在這個事務裏,要做如下操作:
- 1. 從A的帳戶中減去1000塊錢。如果A的帳戶原來有3000塊錢,現在就變成2000塊錢了。
- 2. 在B的帳戶裏加1000塊錢。如果B的帳戶如果原來有2000塊錢,現在則變成3000塊錢了。
如果在A的帳戶已經減去了1000塊錢的時候,忽然發生了意外,比如停電什麽的,導致轉帳事務意外終止了,而此時B的帳戶裏還沒有增加1000塊錢。那麽,我們稱這個操作失敗了,要進行回滾。回滾就是回到事務開始之前的狀態,也就是回到A的帳戶還沒減1000塊的狀態,B的帳戶的原來的狀態。此時A的帳戶仍然有3000塊,B的帳戶仍然有2000塊。
我們把這種要麽一起成功(A帳戶成功減少1000,同時B帳戶成功增加1000),要麽一起失敗(A帳戶回到原來狀態,B帳戶也回到原來狀態)的操作叫原子性操作。
如果把一個事務可看作是一個程序,它要麽完整的被執行,要麽完全不執行。這種特性就叫原子性。
Redis的一點筆記