Caching Redis缓存结构

Caching Redis缓存结构,caching,data-structures,redis,Caching,Data Structures,Redis,我们计划在API端使用Redis作为缓存。我有特定的场景根据需要 保存用户完成的会议 我们已经针对ClientID维护了一个UserId列表 表示该用户有权访问该客户端 **会议对象具有以下属性/属性 MeetingId 会议类型 会议日期 客户 会议状态** 由于从SQL DB获取会议列表时面临性能问题,我们计划使用Redis缓存它。我们将根据以下属性/属性从缓存中筛选会议 1> 会议类型(电话、私人访问) 2> 会议状态(打开、关闭)。。。等 到目前为止,我们已经确定了以下方法 为每个过滤器

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

  • 保存用户完成的会议
  • 我们已经针对ClientID维护了一个UserId列表 表示该用户有权访问该客户端

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

  • MeetingId
  • 会议类型
  • 会议日期
  • 客户
  • 会议状态**
  • 由于从SQL DB获取会议列表时面临性能问题,我们计划使用Redis缓存它。我们将根据以下属性/属性从缓存中筛选会议

    1> 会议类型(电话、私人访问) 2> 会议状态(打开、关闭)。。。等

    到目前为止,我们已经确定了以下方法

    为每个过滤器维护一个密钥

    1> 会议类型
    a>
    会议:打电话
    , b>
    会议:个人访问

    2> 会议状态 a>
    会议状态:打开
    b>
    会议状态:已结束

    并使用键的交互来过滤数据,以便

    查找用户通过个人访问完成的所有公开会议

    还是有更好的方法来考虑以下问题

     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”。您可以为不同的筛选器维护会议的hashmap。
    i、 e一个用于会议:电话,一个用于会议:个人访问,一个用于会议状态:打开,一个用于会议状态:关闭等

    哈希示例

    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
    

    如果您的筛选器非常少,您可以使用上述方法,简而言之,我将在筛选后存储会议。

    1。如何仅筛选他/她有权访问的客户的会议。2.如何通过on MeetingId/MeetingStatus/…实现动态订单。。。。etcI已经通过在集合上使用交集实现了基于状态和会议类型的ie过滤会议,但我面临的问题是,在发布上述过滤器后,我从交集中获得会议ID列表,但我甚至还必须在clientid上过滤会议。我想问的是,我想在两个属性上过滤会议,比如说会议状态和类型ie open或close以及Call/PV(这是通过设置交叉点来完成的),但我如何在ClientId上过滤,可能吗