redis 學習筆記(一)

2021-09-02 15:05:10 字數 1243 閱讀 7577

有過指令碼語言程式設計經驗的讀者對字典(或稱對映、關聯陣列)資料結構一定很熟悉,如代

碼dict[「key」]="value"中dict是乙個字典結構變數,字串"key"是鍵名,而"value"是鍵值,在字

典中我們可以獲取或設定鍵名對應的鍵值,也可以刪除乙個鍵。

redis是remote dictionary server(遠端字典伺服器)的縮寫,它以字典結構儲存資料,並允

許其他應用通過tcp協議讀寫字典中的內容。同大多數指令碼語言中的字典一樣,redis字典中

的鍵值除了可以是字串,還可以是其他資料型別。到目前為止redis支援的鍵值資料型別如

下redis資料庫中的所有資料都儲存在記憶體中。由於記憶體的讀寫速度遠快於硬碟,因此redis

在效能上對比其他基於硬碟儲存的資料庫有非常明顯的優勢,在一台普通的膝上型電腦

上,redis可以在一秒內讀寫超過十萬個鍵值。

將資料儲存在記憶體中也有問題,例如,程式退出後記憶體中的資料會丟失。不過 redis提供

了對持久化的支援,即將可以記憶體中的資料非同步寫入到硬碟中,同時不影響繼續提供服務。

redis雖然是作為資料庫開發的,但由於其提供了豐富的功能,越來越多的人將其用作緩

存、佇列系統等。redis可謂是名副其實的多面手。

redis可以為每個鍵設定生存時間(time to live,ttl),生存時間到期後鍵會自動被刪

除。這一功能配合出色的效能讓redis可以作為快取系統來使用,而且由於redis支援持久化和

豐富的資料型別,使其成為了另乙個非常流行的快取系統memcached的有力競爭者。

討論 關於redis和memcached優劣的討論一直是乙個熱門的話題。在效能上redis是

單執行緒模型,而memcached支援多執行緒,所以在多核伺服器上後者的效能更高一些。然

而,前面已經介紹過,redis的效能已經足夠優異,在絕大部分場合下其效能都不會成為瓶

頸。所以在使用時更應該關心的是二者在功能上的區別,如果需要用到高階的資料型別

或是持久化等功能,redis將會是memcached很好的替代品。

作為快取系統,redis還可以限定資料占用的最大記憶體空間,在資料達到空間限制後可以

按照一定的規則自動淘汰不需要的鍵。

除此之外,redis的列表型別鍵可以用來實現佇列,並且支援阻塞式讀取,可以很容易地

實現乙個高效能的優先順序佇列。同時在更高層面上,redis還支援「發布/訂閱」的訊息模式,可

以基於此構建聊天室等系統。

redis入門教程

Redis學習筆記 一

工作百無聊賴,準備把自己想學的東西挨個學一遍,最近突然發現如果你學了乙個東西,但是毫無記錄只是看了一些書的話,這樣過去後很快就忘記了。所以我覺得很必要採用一種方式把看到的東西記下來,這樣可以加深記憶,也可以在以後回顧的時候一眼看到一項技術中的重點,方便回顧和查詢。最近首先想學一下redis,因為專案...

redis學習筆記(一)

版本 4.0.2 安裝 yum install gcc c 若連線失敗,可能是linux未開啟ssh服務,開啟命令 需要root賬戶 如下 開啟服務 service sshd start 關閉防火牆 etc init.d iptables stop ps 此期間可能linux網路連線中斷,請注意 下...

redis學習筆記一

最近開始儲備一些知識點,以下為redis的學習筆記。簡介 remote dictionary server redis 是乙個由salvatore sanfilippo寫的key value儲存系統。redis是乙個開源的使用ansi c語言編寫 遵守bsd協議 支援網路 可基於記憶體亦可持久化的日...