Redis學習筆記(一) 介紹

2021-07-10 19:07:03 字數 964 閱讀 5705

redis

是乙個開源的高效能鍵值對資料庫

。他通過提供多種鍵值資料型別來適應不同場景下的儲存需求,並借助許多高層級的介面使其可以勝任如快取、佇列系統等不同的角色。

redis是remote dictionary server(遠端字典伺服器)的縮寫,他以字典結構儲存資料,並允許其他應用通過tcp協議讀寫字典中的內容。

到目前為止,redis支援的鍵值資料型別如下:

這種字典形式的儲存結構與常見的mysql等關聯式資料庫的二維表形式的儲存結構有很大的差異。

redis資料庫中所有的資料都儲存在記憶體中。由於記憶體的讀寫速度遠快於硬碟,因此redis在效能上對比其他基於硬碟儲存的資料庫有明顯的優勢,在一台普通pc上,redis可以在一秒內讀寫超過十萬個鍵值。

將資料儲存在記憶體中也有問題,例如程式退出後記憶體中的資料會丟失。不過redis提供了對持久化的支援,即將記憶體中的資料非同步寫入到硬碟中,同事不影響繼續提供服務。

redis雖然是作為資料庫開發,但是由於其提供了豐富的功能,很多人也將其用作快取、佇列系統等。

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

作為快取系統,redis還可以限定資料占用的最大記憶體空間,在資料達到空間限制後可以按照一定的規則刪除不需要的鍵。

redis只管的儲存結構使得通過程式與redis互動十分簡單。在redis中使用命令來讀寫資料,命令語句之於redis就相當於sql語言的關聯式資料庫。例如獲取posts表中id為1的記錄title字段值,用redis的命令就是:

hget posts:1 title

其中,hget就是命令。redis提供了一百多個命令,聽起來很多,常用的就十幾個,而且很容易記。

redis是開源的,良好的開發分為和嚴謹的版本發布機制使得redis的穩定版本非常可靠。

順便說一句,redis約定次版本號(即第乙個小數點後的數字)為偶數的版本是穩定版,為奇數的是非穩定版。

Spring Batch學習(一)介紹

我們不會總是想要立即得到需要的資訊,批處理允許我們在請求處理之前就乙個既定的流程開始蒐集資訊 比如說乙個銀行對賬單,我們可以按月生成,並在使用者查詢之前開啟乙個批處理流程進行處理 更好的利用資源 讓應該利用的處理能力閒置起來是乙個大的浪費,我們可以定製處理讓乙個機器乙個接乙個的執行job可以更好的利...

RabbitMQ學習系列(一) 介紹

1.介紹 rabbitmq是乙個由erlang開發的基於amqp advanced message queue 協議的開源實現。用於在分布式系統中儲存 訊息,在易用性 擴充套件性 高可用性等方面都非常的優秀。是當前最主流的訊息中介軟體之一。rabbitmq的官網 2.amqp amqp,是應用層協議...

RabbitMQ學習系列(一) 介紹

1.介紹 rabbitmq是乙個由erlang開發的基於amqp advanced message queue 協議的開源實現。用於在分布式系統中儲存 訊息,在易用性 擴充套件性 高可用性等方面都非常的優秀。是當前最主流的訊息中介軟體之一。rabbitmq的官網 2.amqp amqp,是應用層協議...