gpt4 book ai didi

caching - Redis缓存结构

转载 作者:可可西里 更新时间:2023-11-01 11:27:45 26 4
gpt4 key购买 nike

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

  1. 保存用户完成的 session
  2. 我们已经根据 ClientID 维护了一个 UserId 列表—— 表示该用户可以访问该客户端

    ** session 对象具有以下属性/属性

    1. session 编号
    2. session 类型
    3. session 日期
    4. 客户编号
    5. session 状态**

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

    1> session 类型(电话、个人访问)2> session 状态(打开、关闭)...等

    到目前为止,我们已经完成了以下方法

    为每个过滤器维护一个键

    1> session 类型
    a> session :通话, b> session :个人访问

    2> session 状态 a> session 状态:打开 b> session 状态:关闭

    并使用key的交互为

  3. 过滤数据

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

或者考虑到以下痛点是否有更好的方法

 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”。您可以为不同的过滤器维护 session 的 HashMap 。
即一种用于 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

如果你的过滤器很少,你可以使用上面的方法,总之我是过滤后存储 session 。

关于caching - Redis缓存结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44241529/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com