登录 注册
开发者工具自动化与工作流内容创作与媒体工具 cats-effectclienteffectsfs2lettuceredis
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
==========

[![CI Status](https://github.com/profunktor/redis4cats/workflows/Scala/badge.svg)](https://github.com/profunktor/redis4cats/actions)
[![Gitter Chat](https://badges.gitter.im/profunktor-dev/redis4cats.svg)](https://gitter.im/profunktor-dev/redis4cats)
[![Maven Central](https://img.shields.io/maven-central/v/dev.profunktor/redis4cats-effects_3.svg)](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>
[![Scala Steward badge](https://img.shields.io/badge/Scala_Steward-helping-brightgreen.svg?style=flat&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAQCAMAAAARSr4IAAAAVFBMVEUAAACHjojlOy5NWlrKzcYRKjGFjIbp293YycuLa3pYY2LSqql4f3pCUFTgSjNodYRmcXUsPD/NTTbjRS+2jomhgnzNc223cGvZS0HaSD0XLjbaSjElhIr+AAAAAXRSTlMAQObYZgAAAHlJREFUCNdNyosOwyAIhWHAQS1Vt7a77/3fcxxdmv0xwmckutAR1nkm4ggbyEcg/wWmlGLDAA3oL50xi6fk5ffZ3E2E3QfZDCcCN2YtbEWZt+Drc6u6rlqv7Uk0LdKqqr5rk2UCRXOk0vmQKGfc94nOJyQjouF9H/wCc9gECEYfONoAAAAASUVORK5CYII=)](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 章节有说明。