Redis學習筆記

2021-10-09 20:06:16 字數 706 閱讀 6623

redis學習筆記:

redis可以儲存多個資料結構,典型的有list,set,hashmap等,都有相應的命令列來操作。也支援事務處理。

這裡先簡單說明一下什麼是事務處理:類似的東西有:資料結構裡的佇列,指令碼,批處理等。本來命令都是一行一行執行等,事務就是把這一行一行的命令綁起來,再處理,同樣是順序處理的。

事務的原子性:如果哪一行語法錯誤,或者事務佇列儲存失敗就會全部不執行。

疑問:redis裡面既然不支援回滾,那麼事務處理失敗的時候(一條語法錯誤了,其他幾條沒問題),這樣其他幾條是都沒有執行嗎?如果沒有執行過怎麼能判斷是否執行成功,如果執行過了,那有一條失敗的時候,不是還要回滾嗎?

解答(猜測):對於批量輸入的命令列佇列,進行語法判斷,遍歷一次都合法之後,才會執行。如果這樣看,那麼事務處理的時間複雜度更高,至少是2n。

疑問:假如我要存入乙個**狀的資料機構怎麼弄?

解答:插入:key值設定成:user1:name,value是一樣的;並把主鍵存入list中,這樣就可以查詢所有;刪除時要刪除乾淨。

資料庫分頁:list結構中有個lrange命令:lrange list_name index_start index_end ,可以選擇查詢的索引。分頁是為了便利查詢而使用的。

快取:類似於計算機儲存也分記憶體和硬碟,資料庫也分快取和資料庫,如果查詢結果都差不多,每次都查資料庫,不是很耗時間嗎,所以把這些查詢結果儲存著快取中,查詢時直接返回結果就可以了。

redis 學習筆記

本文寫作源於最近產品中部分功能用到了redis redis在功能上是乙個與memecache類似的軟體,但它比memecache提供了更強大的功能。redis本質上是乙個key value型別的記憶體資料庫。其value可以是string,list,set,sorted set,hash。很多地方都...

redis學習筆記

1.redis的無序集合 sadd命令產生乙個無序集合 smembers檢視集合元素 sismember用於檢視集合是否存在,匹配項包括集合名和元素個數。匹配成功返回1,匹配失敗返回0 2.有序集合 zadd 生成乙個有序集合。zrange檢視正序的集合,zrevrange檢視反序的集合 set和g...

redis學習筆記

redis啟動伺服器和客戶端的相關命令 string型別 乙個key對應乙個value set key value 比如 set name geyule setnx 如果key存在返回0,nx表示not exist setex 指定有效期 setrange 替換 setrange key n val...