1. 程式人生 > 其它 >Redis常見使用場景

Redis常見使用場景

  • 快取
  • 資料共享分散式
  • 分散式鎖
  • 全域性ID
  • 計數器
  • 限流
  • 位統計
  • 購物車
  • 使用者訊息時間線timeline
  • 訊息佇列
  • 抽獎
  • 點贊、簽到、打卡
  • 商品標籤
  • 商品篩選
  • 使用者關注、推薦模型
  • 排行榜

1、快取

String型別

例如:熱點資料快取(例如報表、明星出軌),物件快取、全頁快取、可以提升熱點資料的訪問資料。

2、資料共享分散式

String 型別,因為 Redis 是分散式的獨立服務,可以在多個應用之間共享

分散式Session

<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-data-redis</artifactId>
</dependency>

3、分散式鎖

String 型別setnx方法,只有不存在時才能新增成功,返回true

publicstaticbooleangetLock(Stringkey){

/////////////在指定的 key 不存在時,為 key 設定指定的值 設定成功,返回 1 。 設定失敗,返回 0 。
Longflag=jedis.setnx(key,"1");
if(flag==1){

//////////設定過期時間
jedis.expire(key,10);
}
returnflag==1;
}

publicstaticvoidreleaseLock(Stringkey){
jedis.del(key);
}

4、全域性ID

int型別,incrby,利用原子性

///////////在原基礎上增加

incrby userid 1000

分庫分表的場景,一次性拿一段

5、計數器

int型別,incr方法

例如:文章的閱讀量、微博點贊數、允許一定的延遲,先寫入Redis再定時同步到資料庫

6、限流

int型別,incr方法

以訪問者的ip和其他資訊作為key,訪問一次增加一次計數,超過次數則返回false