我们计划在API结束时使用Redis作为缓存。根据需要,我有特定的场景
1. MeetingId
2. MeetingType
3. MeetingDate
4. ClientId
5. MeetingStatus\*\*由于我们在从SQL获取会议列表时面临性能问题,因此我们计划使用Redis缓存它。我们将根据以下属性/属性从缓存中筛选会议
1> MeetingType (个人拜访) 2>会议状态(开放,关闭)等
到目前为止,我们已经确定了以下方法
为每个过滤器维护一个键
1> MeetingType
a> `Meeting:Call`, b> `Meeting:PersonalVisit`2>会议状态a>MeetingStatus:Open b>MeetingStatus:Closed
并使用key的交互来过滤数据
查找用户通过个人访问完成的所有公开会议。
还是有更好的方法来考虑下面的痛点
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发布于 2017-05-31 09:51:37
Redis并不像对关系数据库那样用于查询。但正如我所理解的问题。您必须优化/调优数据库设置。如果问题仍然普遍存在,那么就选择一些NOSQL。在redis中,您可以使用"hack“。您可以为不同的过滤器维护会议的hashmap。
一个用于会议:呼叫,一个用于会议: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如果您的过滤器非常少,您可以使用上述方法,简而言之,我在过滤之后存储会议。
https://stackoverflow.com/questions/44241529
复制相似问题