佇列的特點:解耦,削峰,非同步
佇列的使用場景主要用於非同步處理耗時操作。
前幾天開發好了優惠券模組,在優惠券發放那裡使用到了佇列來進行非同步處理,因公司規模較小,伺服器配置只有2g,安裝mq占用了寶貴的記憶體資源,於是就使用了redis自帶的訊息佇列來實現。
技術棧: redis+quartz定時任務
過程:當建立了優惠券分發任務的時候就把任務id扔到redis的佇列裡面,然後直接返回結果,quartz定時任務收到然後處理定時任務。
直接上**:
將任務新增到redis佇列
puscouponsendqueue puscouponsendqueue = puscouponsendqueueservice.getbyid(id);
if(puscouponsendqueue != null)
佇列處理:
//每5秒鐘讀取一次佇列
@scheduled(cron = "0/5 * * * * *")
public void timer() else }}
}catch(exception e)
//任務執行成功
if(puscouponsendqueue != null)
}
記一次redis使用keys
使用場景 專案啟動時,索引所有redis快取刪除後重新錄入 分析 redistemplete.keys 優化原因 不能用於生產環境 官方文件描述 原因 解決方案 使用scan命令 優點 實現同樣的功能,不會造成redis阻塞 scan 實現 param pattern 表示式 param consu...
Redis的使用場景
型別 簡介特性 場景string 字串 二進位制安全 可以包含任何資料,比如jpg或者序列化的物件,乙個鍵最大能儲存512m hash 字典 鍵值對集合,即程式語言中的map型別 適合儲存物件,並且可以像資料庫中update乙個屬性一樣只修改某一項屬性值 memcached中需要取出整個字串反序列化...
Redis的使用場景
redis使用場景 1快取作為key value形態的記憶體資料庫,使用redis快取資料非常簡單,只需要通過string型別將序列化後的物件存起來即可。序列化 serialization 是將物件的狀態資訊轉化為可以儲存或傳輸的形式的過程。以後,可以通過從儲存區中讀取或反序列化物件的狀態,重新建立...