簡體   English   中英

Redis緩存結構

[英]Redis caching structure

我們計划將Redis用作API端的緩存。 我有根據要求的特殊情況

  1. 保存用戶完成的會議
  2. 我們已經在針對ClientID的UserId列表中維護-表示該用戶有權訪問該客戶端

    **會議對象具有以下屬性/屬性

    1. MeetingId
    2. MeetingType
    3. MeetingDate
    4. 客戶端Id
    5. MeetingStatus **

    由於在從SQL DB獲取會議列表時遇到性能問題,因此我們計划使用Redis對其進行緩存。 我們將根據以下屬性/屬性從緩存中過濾會議

    1> MeetingType(呼叫,個人訪問)2>會議狀態(打開,關閉)...等

    截至目前,我們已經確定了以下方法

    維護每個過濾器的關鍵

    1> MeetingType
    a> Meeting:Call ,b> Meeting:PersonalVisit

    2>會議狀態a> MeetingStatus:Open b> MeetingStatus:Closed

    並使用鍵的交互作用來過濾數據

查找用戶通過個人訪問完成的所有公開會議

還是考慮以下痛苦點有更好的方法

 1. How do I filter     the meeting of only clients of which he/she has
    access of.
 2. How do I achieve dynamic order by on MeetingId/MeetingStatus/....
    etc

Can you guide me where should I be heading for the above implementation

+如果能分享一些Redis的資源/鏈接,將不勝感激

Redis不像查詢關系數據庫那樣用於查詢。 但是據我了解的問題。 您必須優化/調整數據庫設置。 如果問題仍然存在,則請使用一些NOSQL數據庫。 在redis中,您可以使用“ hack”。 您可以維護不同過濾器的會議哈希圖。
例如,一個用於Meeting:Call,一個用於Meeting:PersonalVisit,一個用於MeetingStatus:Open,一個用於MeetingStatus:Closed,等等

散列示例

meeting_call [ 1:{meeting_obj1},4:{meeting_obj4} ] // redis hash for 
Meeting:Call filter
meetingstatus_open [ 5:{meeting_obj5},4:{meeting_obj4} ] // redis hash 
MeetingStatus:Open

如果您的過濾器數量很少,可以采用上述方法,總之,我將在過濾后存儲會議。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM