成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

redis 使用入門(mén) - 構(gòu)件

mushang / 3655人閱讀

摘要:對(duì)于那些這一點(diǎn)確實(shí)是個(gè)問(wèn)題的應(yīng)用,你可能需要使用的方案,而非。此外,還可考慮對(duì)存儲(chǔ)數(shù)據(jù)進(jìn)行壓縮或解壓縮,以處理時(shí)間換取。雖然支持虛擬內(nèi)存,但是這個(gè)特性被開(kāi)發(fā)者看做是一個(gè)失敗,不贊成使用該特性。

Databases

Redis擁有與關(guān)系型數(shù)據(jù)庫(kù)一樣的基礎(chǔ)概念。典型的使用場(chǎng)景就是將一個(gè)應(yīng)用的所有數(shù)據(jù)歸在一起,以與其他應(yīng)用的數(shù)據(jù)區(qū)分開(kāi)。
Redis中的數(shù)據(jù)庫(kù)用數(shù)字作為標(biāo)示符,默認(rèn)數(shù)據(jù)庫(kù)的標(biāo)示為0。使用下面的命令選擇具體的數(shù)據(jù)庫(kù):

select 
Commands, Keys and Values

在Redis中,key可以包含strings, hashes, lists, sets, sorted sets, bitmaps以及hyperloglogs。但就目前來(lái)說(shuō),知道key看起來(lái)像 "users:leto" 就夠了。其中l(wèi)eto是用戶名,冒號(hào)沒(méi)有任何特殊含義,但就Redis而言,使用分隔符是一種常見(jiàn)的組織key的方式。

value可以是任何東西,字符串、數(shù)字、或序列化后的對(duì)象(例如:xml、json或其他格式)。多數(shù)情況下,Redis會(huì)把它們當(dāng)字節(jié)數(shù)組對(duì)待,而不會(huì)關(guān)心它們具體是什么。

往Redis存入一個(gè)鍵值對(duì):

set  
# 示例
set users:leto "{"name": "leto", "planet": "dune", "likes": ["spice"]}"

根據(jù)key讀取值:

get users:leto
Querying

Redis不支持對(duì)值進(jìn)行查詢,比如查詢居住在dune星球上的用戶。因?yàn)镽edis從不需要去讀取或理解存儲(chǔ)的值,所以值才可以是任何東西。記住這點(diǎn)有助于我們?cè)谶@個(gè)新世界中將心思放在考慮如何建模上。

Memory and Persistence

Redis是內(nèi)存持久存儲(chǔ)(in-memory persistent store)。說(shuō)到持久化,默認(rèn)情況下,Redis根據(jù)有多少key已經(jīng)變化來(lái)決定是否需要對(duì)數(shù)據(jù)庫(kù)做快照并保存至磁盤(pán)。你可以為它配置這樣的快照策略:如果X個(gè)key發(fā)生了變化,就每Y秒保存一次數(shù)據(jù)庫(kù)。默認(rèn)策略為,如果1000個(gè)或更多的key發(fā)生了變化,就每60秒保存一次快照;如果9個(gè)或更少的key發(fā)生變化,就每15分鐘做一次。

除了定時(shí)快照存儲(chǔ),Redis還可以運(yùn)行在append模式(append mode)。任何時(shí)候,只要key發(fā)生了變化,磁盤(pán)上一個(gè)只可追加的(append-only)文件就會(huì)被更新。在一些情況下,丟失60秒的數(shù)據(jù)以換得性能是可接受的,因?yàn)榭赡軙?huì)發(fā)生硬件或軟件失敗。但在一些情況下,這樣的丟失又是不可接受的。Redis給我們提供了這些選擇。第三種選擇就是讓slave節(jié)點(diǎn)去做持久化工作。

說(shuō)到內(nèi)存,Redis將所有數(shù)據(jù)保持在內(nèi)存中。這就意味著運(yùn)行Redis的成本比較高,畢竟RAM仍然是服務(wù)器硬件中最昂貴的部分。

一些開(kāi)發(fā)者已經(jīng)對(duì)數(shù)據(jù)會(huì)占用多小的空間失去了感覺(jué),莎士比亞的所有作品大概占用5.5M,壓縮后降至2。至于可伸縮性(scaling),其他方案趨向受限于IO或CPU(IO- or CPU-bound)。哪個(gè)限制 (RAM or IO) 將需要你擴(kuò)展出更多的機(jī)器實(shí)際上取決于你數(shù)據(jù)的類型和你正在任何存儲(chǔ)和查詢它。除非你正在存儲(chǔ)大的多媒體文件,否則保存數(shù)據(jù)在內(nèi)存中很可能不是什么問(wèn)題。對(duì)于那些這一點(diǎn)確實(shí)是個(gè)問(wèn)題的應(yīng)用,你可能需要使用IO-bound的方案,而非memory-bound。

此外,還可考慮對(duì)存儲(chǔ)數(shù)據(jù)進(jìn)行壓縮或解壓縮,以處理時(shí)間換取RAM。

Redis雖然支持虛擬內(nèi)存,但是這個(gè)特性被Redis開(kāi)發(fā)者看做是一個(gè)失敗,不贊成使用該特性。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/61771.html

相關(guān)文章

  • React 可視化開(kāi)發(fā)工具 Shadow Widget 非正經(jīng)入門(mén)(之一:React 三宗罪)

    摘要:前言非正經(jīng)入門(mén)是相對(duì)正經(jīng)入門(mén)而言的。不過(guò)不要緊,正式學(xué)習(xí)仍需回到正經(jīng)入門(mén)的方式。快速入門(mén)建議先學(xué)會(huì)用拼文寫(xiě)文檔注冊(cè)一個(gè)賬號(hào),把庫(kù)到自己名下,然后用這個(gè)庫(kù)寫(xiě)自己的博客,參見(jiàn)這份介紹。會(huì)用拼文寫(xiě)文章,相當(dāng)于開(kāi)發(fā)已入門(mén)三分之一了。 本系列博文從 Shadow Widget 作者的視角,解釋該框架的設(shè)計(jì)要點(diǎn),既作為用戶手冊(cè)的補(bǔ)充,也從更本質(zhì)角度幫助大家理解 Shadow Widget 為什么這...

    dongxiawu 評(píng)論0 收藏0
  • React 可視化開(kāi)發(fā)工具 Shadow Widget 非正經(jīng)入門(mén)(之五:指令式界面設(shè)計(jì))

    摘要:本篇解釋中類的控制指令,與指令式界面設(shè)計(jì)相關(guān)。本專欄歷史文章介紹一項(xiàng)讓可以與抗衡的技術(shù)可視化開(kāi)發(fā)工具非正經(jīng)入門(mén)之一三宗罪可視化開(kāi)發(fā)工具非正經(jīng)入門(mén)之二分離界面設(shè)計(jì)可視化開(kāi)發(fā)工具非正經(jīng)入門(mén)之三雙源屬性與數(shù)據(jù)驅(qū)動(dòng)可視化開(kāi)發(fā)工具非正經(jīng)入門(mén)之四 本系列博文從 Shadow Widget 作者的視角,解釋該框架的設(shè)計(jì)要點(diǎn)。本篇解釋 Shadow Widget 中類 Vue 的控制指令,與指令式界面...

    pinecone 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<