目錄
1、redis是什麼
2、redis的特點
3、redis 優勢
4、redis與其他key-value儲存有什麼不同?
附:什麼是bsd協議
附:什麼是原子性,什麼是原子性操作?
redis是乙個開源的、高效能的、基於鍵值對的快取與儲存系統,通過提供多種鍵值資料型別來適應不同場景下的快取和儲存需求。
remotedictionaryserver(redis) :遠端字典伺服器。
redis是乙個開源的使用ansi c語言編寫、遵守bsd協議、支援網路、可基於記憶體亦可持久化的日誌型、key-value資料庫,並提供多種語言的api。
它通常被稱為資料結構伺服器,因為值(value)可以是 字串(string), 雜湊(hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等型別。
redis可作為快取系統
redis可以為每個鍵設定生存時間(time to live ,ttl)生存時間到期後會自動被刪除。
redis可以限定資料占用的最大記憶體空間,當資料達到限制空間時,可以按照一定的規則自動淘汰不需要的鍵。
redis可作為佇列
redis的列表型別鍵可以實現佇列並且支援阻塞式讀取。
bsd開源協議是乙個給於使用者很大自由的協議。可以自由的使用,修改源**,也可以將修改後的**作為開源或者專有軟體再發布。當你發布使用了bsd協議的**,或者以bsd協議**為基礎做二次開發自己的產品時,需要滿足三個條件:
如果再發布的產品中包含源**,則在源**中必須帶有原來**中的bsd協議。
bsd**鼓勵**共享,但需要尊重**作者的著作權。bsd由於允許使用者修改和重新發布**,也允許使用或在bsd**上開發商業軟體發布和銷 售,因此是對商業整合很友好的協議。
很多的公司企業在選用開源產品的時候都首選bsd協議,因為可以完全控制這些第三方的**,在必要的時候可以修改或者 二次開發。
舉個例子:
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學習筆記(1) Redis安裝與其他
hdis framework是乙個基於springboot kubernetes 阿里雲服務,編寫的乙個用於支撐微服務的極速開發框架。其文件詳盡,demo全面,設計合理,開箱即用,節省開發時間,提公升開發效率。配套的docker kubernetes教程已踩過各種坑,讓你的微服務無障礙的順暢執行起來...
Redis筆記(1) Redis特性與安裝
redis是網際網路技術領域使用最為廣泛的儲存中介軟體,它是remote dictionary service的首字母縮寫,也就是遠端字典服務,redis使用c語言實現。redis以其超高的效能 完美的文件 簡潔易懂的原始碼和豐富的客戶端庫支援在開源中介軟體領域廣受好評。redis包含以下特性 1 ...
Redis學習 (1)Redis安裝與配置
redis是當前比較熱門的nosql系統之一,它是乙個key value儲存系統。和memcached類似,但很大程度補償了 memcached的不足,它支援儲存的value型別相對更多,包括string list set zset和hash。這些資料型別都支援 push pop add remov...