未验证 提交 a1502260 编写于 作者: G github-actions[bot] 提交者: GitHub

Update README.md (#719)

上级 8635c68e
......@@ -26,7 +26,7 @@ ZIO Redis is in the experimental phase of development, but its goals are:
Since the ZIO Redis is in the experimental phase, it is not released yet, but we can use snapshots:
```scala
libraryDependencies += "dev.zio" %% "zio-redis" % "0.0.0+458-03138349-SNAPSHOT"
libraryDependencies += "dev.zio" %% "zio-redis" % "<version>"
```
## Example
......@@ -41,7 +41,7 @@ To run this example we should put following dependencies in our `build.sbt` file
```scala
libraryDependencies ++= Seq(
"dev.zio" %% "zio-redis" % "0.0.0+458-03138349-SNAPSHOT",
"dev.zio" %% "zio-redis" % "<version>",
"dev.zio" %% "zio-schema-protobuf" % "0.3.0"
)
```
......
---
id: index
title: "Introduction to ZIO Redis"
sidebar_label: "ZIO Redis"
---
[ZIO Redis](https://github.com/zio/zio-redis) is a ZIO native Redis client.
> The client is still a work-in-progress. Watch this space!
@PROJECT_BADGES@
## Introduction
ZIO Redis is in the experimental phase of development, but its goals are:
- **Type Safety**
- **Performance**
- **Minimum Dependency**
- **ZIO Native**
## Installation
Since the ZIO Redis is in the experimental phase, it is not released yet, but we can use snapshots:
```scala
libraryDependencies += "dev.zio" %% "zio-redis" % "@VERSION@"
```
## Example
To execute our ZIO Redis effect, we should provide the `RedisExecutor` layer to that effect. To create this layer we
should also provide the following layers:
- **RedisConfig** — Using default one, will connect to the `localhost:6379` Redis instance.
- **BinaryCodec** — In this example, we are going to use the built-in `ProtobufCodec` codec from zio-schema project.
To run this example we should put following dependencies in our `build.sbt` file:
```scala
libraryDependencies ++= Seq(
"dev.zio" %% "zio-redis" % "@VERSION@",
"dev.zio" %% "zio-schema-protobuf" % "0.3.0"
)
```
```scala mdoc:compile-only
import zio._
import zio.redis._
import zio.schema.codec._
object ZIORedisExample extends ZIOAppDefault {
val myApp: ZIO[Redis, RedisError, Unit] = for {
_ <- set("myKey", 8L, Some(1.minutes))
v <- get("myKey").returning[Long]
_ <- Console.printLine(s"Value of myKey: $v").orDie
_ <- hSet("myHash", ("k1", 6), ("k2", 2))
_ <- rPush("myList", 1, 2, 3, 4)
_ <- sAdd("mySet", "a", "b", "a", "c")
} yield ()
override def run = myApp.provide(
RedisLive.layer,
RedisExecutor.layer,
ZLayer.succeed(RedisConfig.Default),
ZLayer.succeed[BinaryCodec](ProtobufCodec)
)
}
```
## Resources
- [ZIO Redis](https://www.youtube.com/watch?v=yqFt3b3RBkI) by Dejan Mijic — Redis is one of the most commonly used
in-memory data structure stores. In this talk, Dejan will introduce ZIO Redis, a purely functional, strongly typed
client library backed by ZIO, with excellent performance and extensive support for nearly all of Redis' features. He
will explain the library design using the bottom-up approach - from communication protocol to public APIs. Finally, he
will wrap the talk by demonstrating the client's usage and discussing its performance characteristics.
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册