Redis的各種用途以及使用場景

2021-09-27 12:11:58 字數 1313 閱讀 3062

解決應用伺服器的cpu和記憶體壓力

減少io的讀操作,減輕io的壓力

關係型資料庫的擴充套件性不強,難以改變表結構

nosql資料庫沒有關聯關係,資料結構簡單,拓展表比較容易

nosql讀取速度快,對較大資料處理快

資料高併發的讀寫

海量資料的讀寫

對擴充套件性要求高的資料

需要事務支援(非關係型資料庫)

基於sql結構化查詢儲存,關係複雜

redis是乙個開源的key—value型資料庫,支援string、list、set、zset和hash型別資料。對這些資料的操作都是原子性的,redus為了保證效率會定期持久化資料。

配合關係型資料庫做快取記憶體

可以持久化特定資料。

memchached:多執行緒+鎖

keys *

檢視當前庫所有的鍵

exists

判斷是否存在key

del

刪除某個鍵

expire

設定鍵過期時間 單位是s秒

ttl

檢視還有多少秒過期 -1表示用不過期 -2表示已經過期

move

把鍵移到另乙個庫下

dbsize

檢視資料庫key的數量

flushdb

清空當前庫

flushall

通殺所有庫

string批量處理:

mset

同時設定多個鍵值對

mget

同時獲得多個值

msetnx

當給定的key都不存在

getrange

類似sunstring

setrange

類似sunstring覆蓋原始值

setex 《過期時間》

設定鍵值的同時,給定過期時間

getset

以舊換新,設定了新的值同時得到舊值

get

檢視對應的鍵值

set

新增鍵值對

將給定的value 追加到原值的末尾

strlen < key >

獲取值得長度

setnx

當key 不存在的時候設定key值

incr

將key中儲存的數字加1,如果為空,則值為1

decr

將key中儲存的數字減1,如果為空,則值為-1

incrby/decrby 《步長》

將key中的數字增減

Lua goto特性以及各種方便用途

goto是lua5.2以後加入的新特性,和其它語言中的goto用法相似 goto說明符會將一段程式轉換到乙個label,乙個label定義之後在整個 塊都是課件的,除了巢狀函式之外 用法如下 我們可以使用 gotoname 來宣告乙個跳轉的標誌符,之後可以使用goto直接轉到該行 繼續執行 在lua...

redis的各種型別的使用場景

1.hash 型別 儲存購物車,key是使用者的id,value是對應的商品的id和商品數量 mset pro1 1,pro2 3 llen獲取購物車的數量 2.list 實現佇列,lpush,rpop 先進先出 lpush,lpop 先進後出 3.集合,實現,key是活動的id,value是 的使...

redis 集合使用以及應用場景

集合這個功能到目前我做的專案中,還沒用過,很慚愧,為了讓自己加深記憶和了解記錄了這篇,按照網上的教程和別人的部落格照貓畫虎的。自己去寫了一下。應用場景標籤,分類等。哪先理解一下這個功能,在客戶端測試,還是看圖說話 smembers nameset 返回nameset中所有的資料。scard name...