解決應用伺服器的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...