Redis 缓存结构



我们计划在API端使用Redis作为缓存。我根据要求有特定的场景

  1. 保存用户完成的会议
  2. 我们已经在维护一个针对 ClientID 的用户 ID 列表 -- 表示该用户有权访问该客户端

    **会议对象具有以下属性/属性

    1. 会议标识
    2. 会议类型
    3. 会议日期
    4. 客户端标识
    5. 会议状态**

    由于我们在从 SQL DB 获取会议列表时面临性能问题,我们计划使用 Redis 对其进行缓存。 我们将根据以下属性/属性从缓存中过滤会议

    1> 会议类型(通话、亲自拜访) 2> 会议状态(开放、已关闭)...等

    截至目前,我们已经确定了以下方法

    为每个筛选器维护一个密钥

    1> 会议类型
    a>Meeting:Call, 乙>Meeting:PersonalVisit

    2> 会议状态 答>MeetingStatus:Open乙>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 中,您可以使用"黑客"。您可以为不同的过滤器维护会议哈希图。
即一个用于会议:呼叫,一个用于会议:个人访问,一个用于会议状态:打开,一个用于会议状态:已关闭等

哈希
示例

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

如果您的过滤器非常少,您可以以上方法,简而言之,我在过滤后存储会议。

最新更新