【发布时间】:2017-06-21 00:01:43
【问题描述】:
问题说明:我们的模块之一(票务模块 - 存储过程)需要 4-5 秒从数据库返回数据。此存储过程支持 7 -8 个过滤器 + 它连接 4-5 个表以获取存储在票证表中的 ID 文本,例如(客户端名称、票证状态、票证类型 ...),这阻碍了 SP 的性能.
当前技术栈:ASP.Net 4.0 Web API,MS SQL 2008
我们计划引入 Redis 作为缓存服务器和 Node js,目的是提高性能和可扩展性。
用例:我们有服务票证模块,它有以下属性
- TicketId
- 客户标识
- 出票日期
- 工单状态
- 票证类型
此模块的每个用户都可以访问修复客户端数量,即
- User1 可以访问客户端 1、2、3、4 的票证......
- User2 可以访问客户端 1、2、5、7 的票证......
所以基本上当 User1 访问 Ticket 模块时,他应该能够过滤 TicketId、Client、Ticket Date (from 和 To)、Ticket Status (Open, Hold, In Process ...) 和 Ticket Type (Request , Complaint, Service .....) + 由于 User1 只能访问 Client 1 ,2 3, 4......,缓存应该只给出他有权访问的客户的票证列表。
如果你们能分享你的观点,我们应该如何构建 Redis,即我们应该为上述每个项目使用什么,即 hashset、set、sorted set ... + 我们应该如何根据访问权限过滤票证,将不胜感激的客户和用户有。
【问题讨论】:
标签: redis