Redis學習 2 資料型別 1

2021-10-05 09:24:37 字數 1224 閱讀 6035

數值增減操作

數值時效性設定

key的命名規範

關於set命令的擴充套件

眾所周知,redis是乙個存key-value的資料庫,可以通過set命令存入資料,如set name jamset age 22,對於這種set命令,雖然我們明面上沒有指定資料型別,但是所有的key都是以string儲存,我們所說的資料型別實際指的是value的資料型別

string型別儲存的是單個資料,是redis最簡單最常用的儲存型別,乙個儲存空間存乙個資料

string型別儲存的都是字串,但是如果字串是乙個數字(正負整數、小數),那麼可以當作數字來進行計算。

在學習階段,用set還是mset最直觀的感受,肯定就是一條語句和多條語句的區別,但是在實際的應用場景中,有成百上千條資料需要set時呢?

先看看這兩者的執行步驟:

舉個簡單的例子,如果有10條資料,單條操作和批量操作區別不大,無非是單條操作麻煩點;如果有1000條資料,批量操作的優點就顯現出來了,它能夠提公升與redis互動時的效率;但是如果有1000000條資料呢?redis是單執行緒的,乙個批量操作過來,這1000000條資料沒執行完輪不到其他的資料操作,其他操作都阻塞在那裡了,這樣也不行。對於大資料量,我們可以採用分片的方法,但是具體每次執行多少次操作,就要視具體的情況來定了。

所以,我們不能一概而論的說單條操作好還是批量操作好,需求結合具體的業務場景,具體問題具體分析。

因為一般情況下真正的資料還是儲存在關係型資料表裡,所以對於用redis來儲存其中的某個資料時,使用如下命名規範:

表名:主鍵名:主鍵值:欄位名,舉個例子,有乙個user表,主鍵為fid,有乙個欄位為name,則key可以命名為:「user:fid:1234567:name」

上面有介紹到一些關於set的命令,如set、mset、setex、psetex,但我們在redis客戶端裡使用時,輸入set後的顯示如下:

他給的提示是set key value [ex seconds] [px milliseconds] [nx|xx],這個可以說是一種帶引數的寫法,而上面的幾個命令都可以轉為帶引數的寫法:

Redis 1 資料型別

redis 不是乙個簡單的 key value 儲存,實際上它是乙個資料結構伺服器,並且支援不同種類的值。這意味著,在傳統的 key value 儲存中key 和 value 的資料型別都是 string 的,然而在 redis 中,值不僅僅限制為簡單的字串,它也可以包含複雜的資料結構。下面是 re...

redis 學習(一 redis資料型別)

一 reids資料型別 1.string 存 set key value 取 get key 2.hash 存 hmset key field value 取 hget key field 3.list 新增 lpush key value 遍歷 lrange key start stop redi...

redis學習筆記 redis資料型別

泛指非關係型的資料庫。隨著網際網路web2.0 的興起,傳統的關聯式資料庫在應付web2.0 特別是超大規模和高併發的sns型別的web2.0純動態 已經顯得力不從心,暴露了很多難以克服的問題,而非關係型的資料庫則由於其本身的特點得到了非常迅速的發展。nosql資料庫的產生就是為了解決大規模資料集合...