redis4cats
369
Stars
92
Forks
10
Watchers
6
Open Issues
Apache-2.0
许可证
Scala
语言
2018-06-17
创建时间
2026-11-08
最近更新
项目能做什么
redis4cats 是一个 Scala 版的 Redis 客户端,基于 Cats Effect、Fs2 和 Java 异步客户端 Lettuce 构建。它解决了在函数式编程中安全、异步操作 Redis 的需求,提供纯函数式的 Effects API 与 Streams 流式处理支持,适用于生产环境。
来源:AI 基于仓库事实生成
· 内容以仓库实际 README 为准
使用说明 查看原始 README 原仓库文档
中文使用说明暂未生成。下面保留原仓库 README 摘录,命令与配置均以原文为准。
原始 README 摘录(英文原文,节选前 3000 字符)
redis4cats
==========
[](https://github.com/profunktor/redis4cats/actions)
[](https://gitter.im/profunktor-dev/redis4cats)
[](http://search.maven.org/#search%7Cga%7C1%7Credis4cats-effects) <a href="https://typelevel.org/cats/"><img src="https://raw.githubusercontent.com/typelevel/cats/c23130d2c2e4a320ba4cde9a7c7895c6f217d305/docs/src/main/resources/microsite/img/cats-badge.svg" height="40px" align="right" alt="Cats friendly" /></a>
[](https://scala-steward.org)
Redis client built on top of [Cats Effect](https://typelevel.org/cats-effect/), [Fs2](http://fs2.io/) and the async Java client [Lettuce](https://lettuce.io/).
### Quick Start
```scala
import cats.effect.*
import cats.implicits.*
import dev.profunktor.redis4cats.Redis
import dev.profunktor.redis4cats.effect.Log.Stdout.given
object QuickStart extends IOApp.Simple:
val run: IO[Unit] =
Redis[IO].utf8("redis://localhost").use: redis =>
for
_ <- redis.set("foo", "123")
x <- redis.get("foo")
_ <- redis.setNx("foo", "should not happen")
y <- redis.get("foo")
_ <- IO(assert(x === y))
yield ()
```
The API is quite stable and *heavily used in production*. However, binary compatibility is not guaranteed across versions for now.
If you like it, give it a ⭐ ! If you think we could do better, please [let us know](https://gitter.im/profunktor-dev/redis4cats)!
### Versions
The `1.x.x` series is built on Cats Effect 3 whereas the `0.x.x` series is built on Cats Effect 2.
redis4cats is a thin wrapper over the async Java client [Lettuce](https://lettuce.io/), so each series tracks a
particular Lettuce major version:
| redis4cats | Lettuce | Cats Effect |
| ---------- | ------------------------- | ----------- |
| `3.x` | `7.x` | `3.x` |
| `2.x` | `6.x` (currently `6.8.x`) | `3.x` |
| `1.x` | `6.x` (`6.1.x`–`6.5.x`) | `3.x` |
| `0.x` | `5.3.x` then `6.0.x` | `2.x` |
### Dependencies
Add this to your `build.sbt` for the [Effects API](https://redis4cats.profunktor.dev/effects/) (depends on `cats-effect`):
```
libraryDependencies += "dev.profunktor" %% "redis4cats-effects" % Version
```
Add this for the [Stre
阅读完整原文
项目深度分析 AI 生成
Scala 函数式架构企业级技术支持与 SLA 保障
| 产品构想 | 针对在生产环境中重度使用 Cats Effect + redis4cats/valkey4cats 的企业,提供有 SLA 保障的缺陷修复、底层 Lettuce 连接池排障及版本平滑升级服务。 |
| 核心功能 | 紧急 Bug 修复通道、二进制兼容性支持咨询、Lettuce 与 Cats Effect 连接泄露及死锁问题专项诊断。 |
| 目标用户 | 金融科技、实时数据分析等采用 Scala 技术栈且将 Redis 作为关键缓存/消息总线的企业。 |
| 难度/周期 | 中等 · 1-3 个月 · 成本:极低(主要为人力与技术储备成本) |
| 收费模式 | 按年订阅的技术支持合同或排期咨询费用 |
| 竞争风险 | 目标用户群体小众(Scala + Typelevel 生态企业基数有限),获客难度高。 |
| 依据 | 已验证事实 |
基于 Fs2 + Redis Streams 的实时事件流处理脚手架与企业套件
| 产品构想 | 构建针对微服务与事件驱动架构的交钥匙企业模块(如分布式锁、幂等消费者、限流器、延迟队列等高阶模式的高效实现)。 |
| 核心功能 | 开箱即用的分布式速率限制器、基于 Redis Streams 的精准一次(Exactly-once)消费语义封装、指标监控面板(Prometheus/OpenTelemetry 集成)。 |
| 目标用户 | 使用 Scala 进行微服务开发、构建高性能事件驱动系统的后端研发团队。 |
| 难度/周期 | 中等 · 2-4 个月 · 成本:低(基础云服务测试环境开销) |
| 收费模式 | 以商业扩展包(Open-Core)或预打包框架许可证形式收费 |
| 竞争风险 | Scala 工程师倾向于自研或通过开源代码组合实现,直接采购意愿较低(推测)。 |
| 依据 | AI推测 |
Redis 转向 Valkey 的平滑迁移评估与落地咨询服务
| 产品构想 | 结合官方已开辟 valkey4cats 分支的事实,为担心 Redis 商业协议变更的企业提供从 Redis 向 Valkey 迁移的评估、兼容性测试与代码重构咨询。 |
| 核心功能 | 协议兼容性深度审计、跨集群无缝迁移脚本、基于 valkey4cats 的代码无缝切换与回滚策略。 |
| 目标用户 | 依赖 Redis 但受限于其最新许可协议、寻求迁移到 Valkey 的合规敏感型企业。 |
| 难度/周期 | 较高 · 3-6 个月 · 成本:中等(需维护多版本 Redis 及 Valkey 集群基准测试环境) |
| 收费模式 | 项目制迁移实施费、按人天计费的专家咨询费 |
| 竞争风险 | 多数中小型团队可能直接继续使用既有版本或云托管服务,不急于代码层面的改造。 |
| 依据 | 数据支持的判断 |
AI 基于仓库公开数据分析生成,含推测成分,不构成收益承诺。
报告会保存到 个人中心
竞品与相似项目 GitHub Search 真实检索
相似项目数据正在完善中,暂不展示(避免误导)
项目优势与风险
| 技术成熟度 | 创建于 2018-06-17,近 30 天仍在推送,发布过 63 个 Release |
| 社区活跃 | Star 369 / Fork 92 / Issue 6(数据支持,可自行核实) |
| 许可证 | Apache-2.0 |
| 主要风险 | 上游项目方向可能变化;同赛道竞争者较多(见竞品表);热度与需求不完全等价 |
安装与使用
快速开始(以仓库 README 为准)
git clone https://github.com/profunktor/redis4cats.git cd redis4cats docker compose up -d # 或参考 README 中的 docker run 命令
术语说明:Docker=应用容器(把程序和依赖打包运行);API Key=调用外部服务的密钥;Git Clone=把仓库代码下载到本地。常见错误:API Key 未配置 / 端口占用 / 数据库连接失败,多数项目在 README 的 Troubleshooting 章节有说明。