Redis入門(二) Redis能夠做什麼

2021-09-25 05:32:57 字數 1316 閱讀 4330

在上篇文章中,我們講述了redis的基本知識讓讀者對redis有了基本的了解。那麼這一節我們就來看一下redis究竟能做什麼。

上一節我們提到了redis可用作資料庫,快取記憶體和訊息佇列**。這句話不錯,redis確實可以做這些事情,但是不夠具體,下面我們就從這三點展開來看一下具體怎麼使用,用在哪些場景。

說redis可以做資料庫,那一點也不假。具體怎麼做呢?不是說redis沒有表結構嗎,它不是存在記憶體嗎,斷電或宕機不就沒了嗎?

是的,redis是nosql的,沒有資料庫表結構,但這不影響它來存資料,沒有了資料庫表結構的約束,它的訪問會更加靈活。另外別忘了,redis是可以持久化到磁碟的,具體怎麼持久化的我們在以後的章節在詳細介紹。redis通過key-value進行儲存,並且支援aof和rdb兩種方式的持久化。

所以redis可以配合關係型資料庫彌補其不足,做一些關係型資料庫做起來比較麻煩的事。redis做為資料庫的用法的例子非常多,用的也非常的巧妙,這裡就不在過多的介紹,感興趣的可以自行查詢。

對於網際網路公司和一些較大的公司來說,是非常注重使用者體驗的,軟體響應速度的快慢那是相當重要的,能提高1公釐都至關重要。可能僅僅因為這1公釐就輸給對手。所以盡可能提高軟體的響應速度就變得異常迫切。而redis作為快取記憶體再合適不過了,上節我們介紹了redis的優點優勢和它的強大之處,現在我們就說一寫redis如何做快取。

首先明確我們做快取的目的就是,提高效率,提公升使用者體驗。那麼無非就是查詢的快一點,讓使用者等的時間更短一些。既然是查詢,就要讀取資料,我們是讀資料庫快還是讀redis快?看了上篇文章的肯定知道讀redis快,因為redis使用的是記憶體。其次,我們要明確的一點就是,什麼樣的資料放到快取裡呢?redis之所以做為快取,就是對關係型資料庫的輔助,顯然並不是所有的資料都要放到redis。那存在redis的資料遵循什麼原則呢?那就是,不經常變更的,查詢頻繁的資料。如,一些系統級的配置,系統引數,公共資料。不經常變動的又查詢的比較頻繁的,我沒必要每次有人來請求時都去資料庫查,況且從資料庫查又比較耗時,放到redis查的又快還能減輕資料庫的訪問壓力,何樂而不為呢?

快取的讀取邏輯是什麼樣的呢?我們每次讀資料的時候,先從redis讀,如果redis有的話就直接返回,沒有的話就去查資料庫,然後放到redis裡快取起來。一定要設定超時時間,讓redis的快取在一定時間後自動過期刪除。然後下次再從資料庫讀放到快取裡。生產環境切記要設定超時時間,除非明確有一些資料永不超時的可以不設。

在一些要求不高的場景下,redis可以充當訊息佇列。具體怎麼實現訊息佇列,網上一搜一大把,不再講述。但是如果要求可靠性高的話建議使用專業的訊息中介軟體,activemq,kafka,rocketmq,rabbitmq等。

redis的作用就講到這裡,下一節將講述redis的安裝和基本操作。

Redis入門學習 (二)

redis基礎學習 1.資料型別 string 字串最基本的型別,它是二進位制安全的。redis中string可以包含任何資料,比如jpg或者序列化物件,乙個鍵最大能儲存512mb。hash 雜湊鍵值對集合,適合儲存物件。list 列表是簡單的字串列表,按照插入順序排序。set set是string...

Redis入門指南(二)

使用sort命令,操作集合類,和列表和有序集合類 sort key alpha 按照字典順序排列非數字。sort key desc by 引數,可以排序雜湊型別,甚至是字串型別 根據名稱 萬用字元 get 排序之後 獲取值 store 儲存 優化 sort是redis最強大最複雜的命令之一。使用不好...

redis入門 redis安裝

如果一些同學是要學習redis對於key的操作命令 可以跳過這一篇文章 直接進入 當然要是你想自己搭建redis的服務或者對redis的持久化,主從集群進行一些研究的話,還是建議學習一下怎麼安裝redis,畢竟學習成本不高,簡單!繼續redis安裝篇 二 安裝 go 1.ssh工具把jar包放到li...