快取之Redis學習(二)

2021-09-12 13:26:25 字數 1753 閱讀 8859

1.安裝好了redis之後,我們就可以開始在linux操作redis了。

啟動停止redis

在redis bin目錄下面 :

./redis-server …/redis.conf

./redis-cli shutdown

後台程序啟動的話:

我們可以通過先開啟服務之後

通過 ./redis-cli 連線

如果連線遠端的redis服務 可以通過:

./redis-cli -h 192.168.1.4 -p 6379(6379是redis對外開放的訪問埠)

但是我們通過這個方法卻連線不上,我們可以先通過:

./redis-cli -h 127.0.0.1 -p 6379 的方式來連線。上面那個問題之後記錄其他內容的時候再補充。

2.redis的資料庫:

可以通過redis.conf的配置看到 預設有16個資料庫;預設使用的是 db 0。可以通過 select 命令切換資料庫.可以理解為乙個命名空間。跟關係型資料庫有一點不一樣:

1、redis不支援自定義資料庫名詞

2、每個資料庫不能單獨設定授權

3、每個資料庫之間並不算完全隔離的。可以通過flushall命令清空redis例項面的所有資料庫的資料。

三、對於redis的命令操作

1.獲得乙個符合匹配規則的鍵名列表

keys pattern

查詢所有符合給定模式 pattern 的 key 。

? 匹配乙個字元

* 匹配任意個(包括0個)字元

匹配括號間的任乙個字元,可以使用 「-」 符號表示乙個範圍,如 a[b-d] 可以匹配 「ab」,「ac」,「ad」

\x 匹配字元x,用於轉義符號,如果要匹配 「?」 就需要使用 ?

keys 的速度非常快,但在乙個大的資料庫中使用它仍然可能造成效能問題,如果你需要從乙個資料集中查詢特定的 key ,你最好還是用 redis 的集合結構(set)來代替。

keys模糊匹配,請大家在實際運用的時候忽略掉。因為keys會引發redis鎖,並且增加redis的cpu占用,情況是很惡劣的

如果有這種需求的話可以自己對鍵值做索引,比如把各種鍵值存到不同的set裡面,分類建立索引,這樣就可以很快的得到資料,但是這樣也存在乙個明顯的缺點,就是浪費寶貴的空間,要知道這可是記憶體空間啊,所以還是要合理考慮,當然也可以想辦法,比如對於有規律的鍵值,可以儲存他們的始末值等等。

使用redis的時候要注意很多細節,雖然redis只提供了五種型別,但是用起來不一定就只有五種,比如string型別,你可以儲存任何你自己定義的型別,所以思想不能侷限,靈活的設定資料結構。還有就是雖然redis訪問很快,但是正常生產環境,redis伺服器肯定和web伺服器不是在一起,有時候甚至是在不同的地區,所以網路通訊延遲就很重要了,所以要減少訪問次數,一次訪問完成更多的工作,否則你會發現做同樣的事redis還沒有關係型資料庫快,所以redis存的時候一定要有技巧,盡可能減少訪問次數。

5、有序集合

zadd key score member [score member]..... 增加元素 score 是分數 決定順序

zrange key start stop 獲得某一段元素 根據分數公升序

zrange key start stop withscores 獲得元素和分數

Springboot之redis快取(二)

基於centos7的虛擬機器中,可以用阿里雲映象加速 docker pull mirror.aliyuncs.com library redis 根據自己註冊阿里雲的賬號而不同。阿里雲登入 進去找容器映象服務 安裝好後執行redis,將虛擬機器埠對映到docker埠 docker run d p 6...

Redis快取設計之快取穿透 快取雪崩

提高系統響應速度,加速讀寫,redis將數全都存放在記憶體中,響應速度更快。降低了後台的負載,減少了對後端的直接訪問 資料一致性問題,快取層的資料與儲存層的資料可能存在不一致的問題 維護複雜度高了,加入快取後要同時處理快取曾和持久層的 邏輯 快取穿透就是指查詢乙個根本不存在的資料,導致很多請求直接穿...

Redis學習 二 之Redis簡單命令操作

一 伺服器端簡單操作 啟動linux時自啟動redis 將redis.conf檔案中的daemonize yes。啟動redis伺服器端 redis server usr software redis etc redis.conf。二 客戶端簡單操作 1 redis兩種啟動啟動方式 帶引數方式啟動 ...