string型別
例如:熱點資料快取(例如報表、明星出軌),物件快取、全頁快取、可以提公升熱點資料的訪問資料。
string 型別,因為 redis 是分布式的獨立服務,可以在多個應用之間共享
例如:分布式session
org.springframework.sessionstring 型別setnx方法,只有不存在時才能新增成功,返回truespring-session-data-redis
publicint型別,incrby,利用原子性static
boolean
getlock(string key)
return flag == 1;
}public
static
void
releaselock(string key)
incrby userid 1000
分庫分表的場景,一次性拿一段
int型別,incr方法
int型別,incr方法
以訪問者的ip和其他資訊作為key,訪問一次增加一次計數,超過次數則返回false
string型別的bitcount(1.6.6的bitmap資料結構介紹)
字元是以8位二進位制儲存的
setk1 a
setbit k1 61
setbit k1 70
get k1
/*6 7 代表的a的二進位制位的修改
a 對應的ascii碼是97,轉換為二進位制資料是01100001
b 對應的ascii碼是98,轉換為二進位制資料是01100010
因為bit非常節省空間(1 mb=8388608 bit),可以用來做大資料量的統計。
*/
setbit onlineusers 01支援按位與、按位或等等操作setbit onlineusers
11setbit onlineusers
20
bitopanddestkeykey[key...
] ,對乙個或多個 key
求邏輯並,並將結果儲存到 destkey 。
bitopordestkeykey
[key...
] ,對乙個或多個 key
求邏輯或,並將結果儲存到 destkey 。
bitopxordestkeykey
[key...
] ,對乙個或多個 key
求邏輯異或,並將結果儲存到 destkey 。
bitopnotdestkeykey ,對給定
key 求邏輯非,並將結果儲存到 destkey 。
bitop "and" "7_days_both_online_users" "day_1_online_users" "day_2_online_users" ... "day_7_online_users"string 或hash。所有string可以做的hash都可以做
list,雙向鍊錶,直接作為timeline就好了。插入有序
list提供了兩個阻塞的彈出操作:blpop/brpop,可以設定超時時間
上面的操作。其實就是j**a的阻塞佇列。學習的東西越多。學習成本越低
自帶乙個隨機獲得值
假如上面的微博id是t1001,使用者id是u3001
用 like:t1001 來維護 t1001 這條微博的所有點讚使用者
是不是比資料庫簡單多了。
老規矩,用 tags:i5001 來維護商品所有的標籤。
//獲取差集
sdiff set1 set2
//獲取交集(intersection )
sinter set1 set2
//獲取並集
假如:iphone11 上市了
sadd brand:ios iphone11
sad screensize:
6.0-
6.24
iphone11
sad screentype:lcd iphone
11賽選商品,蘋果的、ios的、螢幕在6.0-6.24之間的,螢幕材質是lcd螢幕
-6.24 screentype:lcd
follow 關注 fans 粉絲
相互關注:
我關注的人也關注了他(取交集):
可能認識的人:
id 為6001 的新聞點選數加1:
zincrby hotnews:20190926獲取今天點選最多的15條:1 n6001
Redis常見使用場景
1 使用string實現計數 特點 string的value一般是string,也可以是數字 內部實現 當涉及數字運算時,自動把string轉換為integer進行運算 應用場景 對客戶端傳送驗證碼次數進行限制 string借助incr incrby decr decrby可以實現原子計數 2 使用...
Redis 的 5 個常見使用場景
最常用的一種使用redis的情景是會話快取 session cache 用redis快取會話比其他儲存 如memcached 的優勢在於 redis提供持久化。當維護乙個不是嚴格要求一致性的快取時,如果使用者的購物車資訊全部丟失,大部分人都會不高興的,現在,他們還會這樣嗎?幸運的是,隨著 redis...
Redis 的 5 個常見使用場景
1,會話快取 session cache redis 具有快取資料持久化的能力,當快取因出現問題而重啟後,之前的快取資料還在那兒,這個就比較實用,避免了因為session突然消失帶來的使用者體驗問題。2,頁面快取 如果你使用的是伺服器端內容渲染,你又不想為每個請求重新渲染每個頁面,就可以使用 red...