Redis 它是什么?它用來做什么?它的優勢與短板如何?

閱讀目的: 對什么是內存型數據庫有概念性的認知。?



Redis 是什么?

? ? 通常而言目前的數據庫分類有幾種,包括 SQL/NSQL,,關系數據庫,鍵值數據庫等等 等,分類的標準也不以,Redis本質上也是一種鍵值數據庫的,但它在保持鍵值數據庫簡單快捷特點的同時,又吸收了部分關系數據庫的優點。從而使它的位置處于關系數據庫和鍵值數 據庫之間。Redis不僅能保存Strings類型的數據,還能保存Lists類型(有序)和Sets類型(無序)的數據,而且還能完成排序(SORT) 等高級功能,在實現INCR,SETNX等功能的時候,保證了其操作的原子性,除此以外,還支持主從復制等功能。

??更為詳細的描述請參考如下:

? ?? ???http://code.google.com/p/redis/wiki/index

??Redis官方也同樣提供了一個名為Retwis的項目代碼,可以對照著官方學習。

2 Redis用來做什么?

? ?? ???通常局限點來說,Redis也以消息隊列的形式存在,作為內嵌的List存在,滿足實時的高并發需求。而通常在一個電商類型的數據處理過程之中,有關商品,熱銷,推薦排序的隊列,通常存放在Redis之中,期間也包擴Storm對于Redis列表的讀取和更新。


3 Redis的優點

性能極高 – Redis能支持超過 100K+ 每秒的讀寫頻率。

豐富的數據類型 – Redis支持二進制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 數據類型操作。

原子 – Redis的所有操作都是原子性的,同時Redis還支持對幾個操作全并后的原子性執行。

豐富的特性 – Redis還支持 publish/subscribe, 通知, key 過期等等特性。

4 Redis的缺點

是數據庫容量受到物理內存的限制,不能用作海量數據的高性能讀寫,因此Redis適合的場景主要局限在較小數據量的高性能操作和運算上。

? ? 總結: Redis受限于特定的場景,專注于特定的領域之下,速度相當之快,目前還未找到能替代使用產品。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/395482.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/395482.shtml
英文地址,請注明出處:http://en.pswp.cn/news/395482.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

阿里巴巴是如何打通 CMDB,實現就近訪問的?

CMDB在企業中,一般用于存放與機器設備、應用、服務等相關的元數據。當企業的機器及應用達到一定規模后就需要這樣一個系統來存儲和管理它們的元數據。有一些廣泛使用的屬性,例如機器的IP、主機名、機房、應用、region等,這些數據一般會在機器…

我們分析了成千上萬的編程訪談。 這就是我們學到的東西。

by Aline Lerner通過艾琳勒納(Aline Lerner) 我們分析了成千上萬的編程訪談。 這就是我們學到的東西。 (We analyzed thousands of coding interviews. Here’s what we learned.) Note: I wrote most of the words in this post, but the legendary Dave Holtz did the heavy…

Java 9 新功能之 HTTP2 和 REPL

對Java 9的炒作將不再局限于模塊化(modularity),Java 9正在搜羅大量額外的功能模塊,這些功能模塊正作為Java增強提案(JEP)提交,并在OpenJDK (Java SE的參考實現項目)中實現。 在這篇…

c語言編譯程序首要工作,c語言試卷

c語言試卷一、選擇題(每小題1分,共40分)。(以下A、B、C、D四個選項中只有一個是正確的。)1.一個C語言程序是由()。A.一個主程序和若干子程序組成B.函數C.若干過程組成D.若干子程序組成2.C語言源…

Mac通過wifi連接 Android設備

公司用的全是mac開發,但是全是type-C接口,每次背電腦回家啊,還得帶個數據線轉換器…… 想著回來,直接通過Wi-Fi連接手機就好,發現完全忘了之前套路,現在趕緊記下一波,保證包教包會! …

貝葉斯統計推斷_統計推斷對決:頻繁主義者與貝葉斯主義者

貝葉斯統計推斷by Kirill Dubovikov通過基里爾杜博維科夫(Kirill Dubovikov) 統計推斷對決:頻繁主義者與貝葉斯主義者 (Statistical Inference Showdown: The Frequentists VS The Bayesians) 推理 (Inference) Statistical Inference is a very important topic t…

iOS之由身份證號返回性別

該博文出自:http://www.cnblogs.com/yang-guang-girl/p/5683454.html - (void)viewDidLoad {[super viewDidLoad];// Do any additional setup after loading the view.NSString *sex[self sexStrFromIdentityCard:"139876456767892345"];NSLog("--s…

c語言程序設計k.r,【答題】C語言程序設計問題與解釋實驗

該樓層疑似違規已被系統折疊 隱藏此樓查看此樓#include#define N 13main(){int y,m,D,q,t0,i,day0,a0,Day,n,k,O[N]{0,31,29,31,30,31,30,31,31,30,31,30,31},p[N]{0,31,28,31,30,31,30,31,31,30,31,30,31};//y是年,m是月,D是日,q計算周幾&am…

運維命令

1 文件管理2 軟件管理3 系統管理4 服務管理5 網絡管理6 磁盤管理7 用戶管理8 腳本相關9 服務配置----------------------------------1 文件管理----------------------------------創建空白文件touch不提示刪除非空目錄rm -rf 目錄名(-r:遞歸刪除-f 強制)####################…

[原創]K8_C段旁注工具6.0 新增SMB漏洞掃描

工具: K8_C段旁注工具6.0_0510[K.8]編譯: 自己查殼組織: K8搞基大隊[K8team]作者: K8拉登哥哥博客: http://qqhack8.blog.163.com發布: 2017/5/24 13:25:54簡介: 圖片: 功能: 更新歷史:6.0 20170510[] C段SMB漏洞掃描(探測系統版本)[] 批量操作-文本比較提取新增內容[] 旁注查…

qt creator 快捷鍵

http://www.cnblogs.com/jingzhishen/p/4067657.html轉載于:https://www.cnblogs.com/chencesc/p/5733858.html

棧的C語言案例,堆棧實例代碼(C語言)

堆棧實例代碼(C語言)如下所示:#include int MAXSIZE 8;int stack[8];int top -1;int isempty() {if(top -1)return 1;elsereturn 0;}int isfull() {if(top MAXSIZE)return 1;elsereturn 0;}int peek() {return stack[top];}int pop() {int data;if(!isempty()) …

從vue遷移到react_從AngularJS遷移到React-您如何衡量性能提升?

從vue遷移到reactby Gupta Garuda通過古普塔歌魯達(Gupta Garuda) 從AngularJS遷移到React-您如何衡量性能提升? (Migrating from AngularJS to React — how do you measure your performance gains?) Are you looking into migrating a large AngularJS single …

【公告】社區周刊即日起停刊

各位訂閱51CTO社區周刊的小伙伴們,大家好,我是51CTO社區的大管家蘑菇,今天來是想跟大家說,本期周刊將是我們最后一期郵件期刊,沒錯,是最后一期(請珍惜它~)。或許你會問,停…

springcloud-zuul路由網關

路由網關(zuul) 在微服務架構中,需要多個基礎的服務治理組件,包括服務注冊與發現、服務消費、負載均衡、斷路器、智能 路由、配置管理等,由這個基礎組件相互協作,共同組建了一個簡單的微服務系統。一個簡單的微服務系統如下 圖 總…

python DB.fetchall()--獲取數據庫所有記錄列表

查詢到的數據格式為列表: 多個元素的列表: 單個元素的列表: 轉載于:https://www.cnblogs.com/apple2016/p/5734161.html

c語言中文件讀寫面試題,在C ++中有效讀取非常大的文本文件

我將對其進行重新設計以充當流式傳輸,而不是在一個塊上。一個更簡單的方法是:std::ifstream ifs("input.txt");std::vector parsed(std::istream_iterator(ifs), {});如果您大致知道期望多少個值,那么預先使用std::vector::reserve…

每次調試都必須clean_如何使用“ The Clean Architecture”每次編寫健壯的應用程序...

每次調試都必須cleanby Daniel Oliveira丹尼爾奧利維拉(Daniel Oliveira) 如何使用“ The Clean Architecture”每次編寫健壯的應用程序 (How to write robust apps every time, using “The Clean Architecture”) As developers, we can’t keep from using external librar…

404. Sum of Left Leaves

題目來源: 自我感覺難度/真實難度: 題意: 分析: 自己的代碼: class Solution(object):def sumOfLeftLeaves(self, root):""":type root: TreeNode:rtype: int"""left[]if not root:retu…

Laravel Composer 命令大全

2019獨角獸企業重金招聘Python工程師標準>>> ???????1、安裝 Laravel composer create-project --prefer-dist laravel/laravel 5.xx user-project 2、.env 文件操作 生成 APP_KEY:php artisan key:generate 緩存 .env 配置&#xff…