说明:收录全网最新的团体标准 提供单次或批量下载
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210917084.X (22)申请日 2022.08.01 (71)申请人 福建天晴在线互动科技有限公司 地址 350212 福建省福州市长乐市湖南 镇 大鹤村 (72)发明人 刘德建 陈丛亮 李佳  (74)专利代理 机构 福州旭辰知识产权代理事务 所(普通合伙) 35233 专利代理师 程勇 (51)Int.Cl. G06F 9/50(2006.01) G06F 9/48(2006.01) (54)发明名称 一种通过队列进行缓存优化的方法及其系 统 (57)摘要 本发明提供了一种通过队列进行缓存优化 的方法及其系统, 该方法为: 步骤S1、 生成多个队 列, 并且为每个队列设置优先级, 步骤S2、 调用线 程redis时传入队列的优先级、 调用操作命令、 以 及操作命令所需参数, 根据优先级将操作命令和 操作命令对应的所需参数放入到对应优先级的 队列中; 步骤S3、 启动消费线 程, 按照优先级顺序 对每个队列进行消费, 按照设置的数量阀值或时 间阀值触发按批次批量操作命令调用线程 redis; 步骤S4、 队列中的第一优先级的队列批量 执行后先返回结果, 调用线程redis接收返回结 果继续执行, 消费线程继续批量执行第二优先级 的队列, 以此类推完成所有队列的执行; 提高连 接的利用率, 提高系统吞吐量。 权利要求书1页 说明书4页 附图2页 CN 115269192 A 2022.11.01 CN 115269192 A 1.一种通过队列进行缓存 优化的方法, 其特 征在于: 所述方法包括如下步骤: 步骤S1、 生成多个队列, 并且为每 个队列设置优先级, 步骤S2、 调用线程redis时传入队列的优先级、 调用操作命令、 以及操作命令所需参数, 根据优先级将 操作命令和操作命令对应的所需参数放入到对应优先级的队列中; 步骤S3、 启动消费线程, 按照优先级顺序对每个队列进行消费, 按照设置的数量阀值或 时间阀值触发按批次批量操作命令调用线程redis; 步骤S4、 队列中的第一优先级的队列批量执行后先返回结果, 调用线程redis接收返回 结果继续执 行, 消费线程继续批量执 行第二优先级的队列, 以此类 推完成所有队列的执 行。 2.根据权利要求1所述的一种通过队列进行缓存优化的方法, 其特征在于: 所述步骤S2 进一步具体为: 用户访问接口1时, 会有一个调用线程接收用户请求, 根据用户的请求, 发送 查询请求的操作命令给线程redis, 将操作命令和对应的操作命令所需参数放入第一优先 级的队列中, 然后, 等待操作命令返回请求结果, 第一优先级的队列存储满后, 用户访问接 口2时, 会有一个调用线程接收用户请求, 根据用户的请求, 发送查询请求的操作命令给线 程redis, 将 操作命令和对应的操作命令所需参数放入第二优先级的队列中, 依次类 推。 3.根据权利要求1所述的一种通过队列进行缓存优化的方法, 其特征在于: 所述时间阈 值设置为10 ‑50毫秒一批进行批量操作命令调用线程redis; 所述数量阀值设置为10 ‑10000 数量为一批进行批量操作命令调用线程redis。 4.一种通过队列进行缓存优化的系统, 其特征在于: 所述系统包括优先级设置模块、 队 列缓存数据模块、 消费处 理模块、 执 行反馈模块; 所述优先级设置模块, 用于生成多个队列, 并且为每 个队列设置优先级, 所述队列缓存数据模块, 调用线程redis时传入队列的优先级、 调用操作命令、 以及操 作命令所需参数, 根据优先级将操作命令和操作命令对应的所需参数放入到对应优先级的 队列中; 所述消费处理模块, 启动消费线程, 按照优先级顺序对每个队列进行消费, 按照设置的 数量阀值或时间阀值触发按批次批量操作命令调用线程redis; 所述执行反馈模块, 在队列中的第一优先级的队列批量执行后先返回结果, 调用线程 redis接收返回结果继续执行, 消费线程 继续批量执行第二优先级的队列, 以此类推完成所 有队列的执 行。 5.根据权利要求4所述的一种通过队列进行缓存优化的系统, 其特征在于: 所述队列缓 存数据模块的实现方式进一步具体为: 用户访问接口1时, 会有一个调用线程接收用户请 求, 根据用户的请求, 发送查询请求的操作命令给线程redis, 将操作命令和对应的操作命 令所需参数放入第一优先级的队列中, 然后, 等待操作命令返回请求结果, 第一优先级的队 列存储满后, 用户访问接口2时, 会有一个调用线程接收用户请求, 根据用户的请求, 发送 查 询请求的操作命令给线程redis, 将操作命令和对应的操作命令所需参数放入第二优先级 的队列中, 依次类 推。 6.根据权利要求4所述的一种通过队列进行缓存优化的系统, 其特征在于: 所述时间阈 值设置为10 ‑50毫秒一批进行批量操作命令调用线程redis; 所述数量阀值设置为10 ‑10000 数量为一批进行批量操作命令调用线程redis。权 利 要 求 书 1/1 页 2 CN 115269192 A 2一种通过队列进行缓存优化的方 法及其系统 技术领域 [0001]本发明涉及缓存处理技术领域, 特别是一种通过队列进行缓存优化的方法及 其系 统。 背景技术 [0002]目前大部分业务是按照外部请求读写redis缓存时是随机读写, 并且每次读写缓 存时候, 都需要占用连接, 导致吞吐量低。 如果改用批量写入, 则无法保证业务的随机读写。 现有技术针对实际业务可能分成两种 方法解决, 1.第一种情况, 业务可以改造成批量写入 的, 则可以通过改数量的连接写入; 这种方式改造操作比较麻烦。 2.第二种情况, 无法使用 批量写入的, 只能通过提高连接数来提升吞吐量, 但是实际情况提升效果不是很明显, 因为 连接数多了增 加了连接维护的开销, 并且 会收到操作系统的各种连接数限制无法提升 。 发明内容 [0003]为克服上述问题, 本发明的目的是提供一种通过队列进行缓存优化的方法, 提高 连接的利用率, 提高系统吞吐量。 [0004]本发明采用以下方案实现: 一种通过队列进行缓存优化的方法, 所述方法包括如 下步骤: [0005]步骤S1、 生成多个队列, 并且为每 个队列设置优先级, [0006]步骤S2、 调用线程redis时传入队列的优先级、 调用操作命令、 以及操作命令所需 参数, 根据优先级将 操作命令和操作命令对应的所需参数放入到对应优先级的队列中; [0007]步骤S3、 启动消费线程, 按照优先级顺序 对每个队列 进行消费, 按照设置的数量阀 值或时间阀值触发按批次批量操作命令调用线程redis; [0008]步骤S4、 队列中的第一优先级的队列批量执行后先返回结果, 调用线程r edis接收 返回结果继续执行, 消费线程继续批量执行第二优先级的队列, 以此类推完成所有队列的 执行。 [0009]进一步的, 所述步骤S2进一步具体为: 用户访问接口1时, 会有一个调用线程接收 用户请求, 根据用户的请求, 发送查询请求的操作命令给线程redis, 将操作命令和对应的 操作命令所需参数放入第一优先级的队列中, 然后, 等待操作命令 返回请求结果, 第一优先 级的队列存储满后, 用户访问接口2时, 会有一个调用线程接收用户请求, 根据用户的请求, 发送查询请求的操作命令给线程redis, 将操作命令和对应的操作命令所需参数放入第二 优先级的队列中, 依次类 推。 [0010]进一步的, 所述时间阈值设置为10 ‑50毫秒一批进行批量操作命令调用线程 redis; 所述数量阀值设置为10 ‑10000数量为一批进行批量操作命令调用线程redis。 [0011]本发明提供了一种通过队列进行缓存优化的系统, 所述系统包括优先级设置模 块、 队列缓存数据模块、 消费处 理模块、 执 行反馈模块; [0012]所述优先级设置模块, 用于生成多个队列, 并且为每 个队列设置优先级,说 明 书 1/4 页 3 CN 115269192 A 3

.PDF文档 专利 一种通过队列进行缓存优化的方法及其系统

文档预览
中文文档 8 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共8页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种通过队列进行缓存优化的方法及其系统 第 1 页 专利 一种通过队列进行缓存优化的方法及其系统 第 2 页 专利 一种通过队列进行缓存优化的方法及其系统 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-18 13:11:12上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。