java - Spring data redis (with lettuce) 创建包装库的优势
问题描述
我是 Redis 的新手,并计划将它用作内存缓存。我正在使用 Lettuce 5.2 客户端。
我有多个应用程序将使用 redis 作为内存缓存。我的想法是使用像包装器一样的生菜编写库,多个应用程序可以使用它来与 Redis 交互。该库将管理连接池、redis 故障转移案例和命令执行等,因此应用程序编写者不必担心所有这些,只需要使用我的库即可。
现在对于这个库,我对以下几点感到困惑:
1)我应该使用 Spring data redis(它也支持生菜)吗?如果我的目标是创建库,那么首先,我可以使用 spring data redis 吗?
2) Spring data redis 会给我带来什么好处。我检查了文档https://docs.spring.io/spring-data/data-redis/docs/current/reference/html/#reference
3) 如果我不使用 Spring 数据 redis,那么我将只使用生菜并自己创建客户端、连接池等。
我很困惑是否应该使用 spring data redis 创建库?
你能帮我解决我的困惑吗?
解决方案
您可以Repository
在 Spring Data 中实现自定义方法,这已在 SO 的其他答案中进行了概述,例如:如何向 Spring Data JPA 添加自定义方法。
因此,您可以轻松地将开箱即用的 Spring Data Redis 功能与 Spring Data Repository 的自定义 Lettuce 方法代码结合起来,我建议从 Spring Data 开始,如果您需要微调除此之外的任何内容,请编写自定义方法生菜。
只要您可以在 Lettuce 中使用与 Spring Data Redis 相同的连接池,您就应该能够将其作为资源共享,就像您可以将线程视为资源一样。
关于应该或不应该使用哪些库,没有人能真正给你一个肯定的答案,希望你现在有足够的信息来取得进展。
推荐阅读
- http-status-code-404 - 如何在 Dash (plotly) 中创建 404 错误页面?
- javascript - 来自 API 的数据未在 React-Redux 应用程序的 Store (Reducer) 中更新
- vue.js - 在Vuex中按下按钮时如何将数据表单插入表格?
- angular - 我们如何在 Ionic 3 的帮助下安全地将访问令牌存储在存储中?
- virtual-memory - 禁用虚拟内存时如何在 RISC-V 32 位系统中访问 34 位物理地址空间?
- javascript - 如何在 wordpress 菜单项中添加 onclick 功能以显示页面部分(显示:无;)
- permissions - 使用服务帐户时如何防止“交付状态通知(失败)”
- batch-file - 有没有办法在cmd中设置只读(const)变量?
- php - 如何在输入中每个月添加链接(输入月份)
- angular - SyntaxError:JSON.parse 中位置 0 处 JSON 中的意外标记 v(
) 在 XMLHttpRequest.onLoad