Redis系統學習 應用 佇列

2021-09-11 03:56:48 字數 473 閱讀 4229

此處可分為,訊息佇列 和 延時佇列

訊息佇列

專案中經常用到訊息機制,mq和kafka都很成熟了,所以某些專門的訊息處理還是交給他們。

但是專案中有的只需要自己發自己收,實現非同步處理,redis也可以實現。基於list,當成佇列使用。

此處有個問題,佇列空了就會出現,無效的查詢,業務系統的cpu增加負擔,redis的qps也一致居高不下。

可以使用blpop/brpop,這兩個指令的字首字元b代表的是blocking,也就是阻塞讀。

阻塞讀在佇列沒有資料的時候,會立即進入休眠狀態,一旦資料到來,則立刻醒過來。結合執行緒池使用,保持連線,不然,redis會將無效的連線斷開,該執行緒就會拋異常,還要增加重試機制。

延時佇列

Redis系統學習 其他應用

redis很多應用都有其他更有的選擇,統一放一起。hyperloglog hyperloglog 提供不精確的去重計數方案,雖然不精確但是也不是非常不精確,標準誤差是 0.81 老錢在 redis深度歷險 核心原理和應用實踐 用 的uv來舉例,但是我們日常專案中,除非小公司,一般的公司都會有bi部門...

redis系統學習

redis是乙個開源的 高效能的 基於鍵值對的快取與儲存系統,通過提供多種鍵值資料 型別來適應不同場景下的快取與儲存需求。同時 redis 的諸多高層級功能使其可以勝任訊息 佇列 任務佇列等不同的角色。redis是remote dictionary server 遠端字典伺服器 的縮寫。a.以字典結...

Ubuntu系統學習

分割槽 檔案系統型別 預設為 ext4,檔案系統分很多種,ext2 ext3 ext4 fat ntfs等等 什麼是檔案系統 檔案系統是作業系統用於明確磁碟或分割槽上的檔案的方法和資料結構 即在磁碟上組織檔案的方法。兩種檔案系統的對比 linux目錄結構 所有目錄都在 boot boot 配置檔案 ...