2分鐘搞定redis實現訊息佇列

2021-10-06 07:50:21 字數 1476 閱讀 8982

整合redis的pom依賴以及yml檔案,可以參考我之前的部落格,這裡不再贅述。

實現redis訊息佇列,用到的是list資料型別,所以首先修改之前的redis配置檔案:

1.reditemplateutil

/**

* list列表型別:先進後出棧形式,單個值插入

* @param key

* @param value

* @return*/

public boolean lpush(string key, object value)

catch

(exception e)

}/**

* 取值 -

* @param key 鍵

* @return*/

public object rpop(string key)

catch

(exception e)

}/**

* 檢視值

* @param key 鍵

* @param

start 開始

* @param

end 結束 0 到 -1代表所有值

* @return*/

public listlrange(string key, long start

, long end

)catch

(exception e)

}/**

* 清空所有資料

* @param

* @return*/

public void ltrim(string key,long var2, long var4)

catch

(exception e)

}}

2.入棧

//放入訊息佇列

boolean lpush = redistemplateutil.lpush(redis的快取key, 放入訊息佇列的內容)

;log.info(

"把請求演算法的資料放入redis,lpush結果為:{}"

,lpush)

;

3.出棧

//先判斷是否存在

listlrange = redistemplateutil.lrange(redis的快取key, 0,

-1);

if(lrange!=null && lrange.size(

)>0)

",lpop)

;

4.清空佇列內的資料

redistemplateutil.ltrim(redis的快取key,1,0)

;

說明:

核心的功能是以上三部,具體場景需要結合自己的業務來進行處理。

5分鐘搞定Schema

事先宣告 搞定不是精通,只是能夠運用!其實schema很簡單,之前寫過dtd,比dtd學習成本還低!最近做的專案基於檔案系統的,一堆的xml檔案,所以想寫個驗證,也方便ide操作,既然推薦schema,那就用schema d 不廢話,看xml檔案。ivan hihello 這個應該算是個比較典型的x...

5分鐘搞定快速排序

直接切入主題,快速排序分為兩過程 挖抗填數 分治法 先說下分治法,顧名思義就是 分而治之 的核心思想。簡單舉個例子體會一下 現在有100個人需要按照身高排成一列。首先,定個身高基準1.7m 定得太高和太低都會打破平衡 高與1.7m的都站在一列的右端,低於1.7m的都站在一列的左端。1.7m即為左右端...

5分鐘搞定快速排序

首先找到陣列中的乙個基準值 通常是中間值 遍歷陣列,如果比基準值小就放到左邊,比基準值大放到右邊 以基準值左右兩邊的子列作為新數列,不斷重複第一步和第二步 迭代法 def quick sort arr if len arr 2 return arr mid arr len arr 2 基準值 lef...