RedisPartiallyApplied

dev.profunktor.redis4cats.Redis.RedisPartiallyApplied
class RedisPartiallyApplied[F[_]]

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any

Members list

Value members

Concrete methods

def cluster[K, V](codec: RedisCodec[K, V], uris: String*)(readFrom: Option[ReadFrom]): Resource[F, RedisCommands[F, K, V]]

Creates a RedisCommands for a cluster connection.

Creates a RedisCommands for a cluster connection.

It will also create an underlying RedisClusterClient to establish connection with Redis.

Example:

Redis[IO].cluster(
 RedisCodec.Utf8,
 "redis://localhost:30001",
 "redis://localhost:30002"
)

Note: if you need to create multiple connections, use either fromClusterClient or fromClusterClientByNode instead, which allows you to re-use the same client.

Attributes

def clusterUtf8(uris: String*)(readFrom: Option[ReadFrom]): Resource[F, RedisCommands[F, String, String]]

Creates a RedisCommands for a cluster connection to deal with UTF-8 encoded keys and values.

Creates a RedisCommands for a cluster connection to deal with UTF-8 encoded keys and values.

It will also create an underlying RedisClusterClient to establish connection with Redis.

Example:

Redis[IO].clusterUtf8(
 "redis://localhost:30001",
 "redis://localhost:30002"
)

Note: if you need to create multiple connections, use either fromClusterClient or fromClusterClientByNode instead, which allows you to re-use the same client.

Attributes

def custom[K, V](uri: String, opts: ClientOptions, config: Redis4CatsConfig, codec: RedisCodec[K, V]): Resource[F, RedisCommands[F, K, V]]

Creates a RedisCommands for a single-node connection.

Creates a RedisCommands for a single-node connection.

It will create an underlying RedisClient using the supplied client options and config to establish connection with Redis. Can be used to customise advanced features like metric recording or shutdown delays.

Example:

for {
 opts <- Resource.eval(Sync[F].delay(ClientOptions.create())) // configure timeouts, etc
 config = Redis4CatsConfig()
 cmds <- Redis[IO].custom("redis://localhost", opts, config, RedisCodec.Ascii)
} yield cmds

Note: if you need to create multiple connections, use fromClient instead, which allows you to re-use the same client.

Attributes

def fromClient[K, V](client: RedisClient, codec: RedisCodec[K, V]): Resource[F, RedisCommands[F, K, V]]

Creates a RedisCommands for a single-node connection.

Creates a RedisCommands for a single-node connection.

Example:

val redis: Resource[IO, RedisCommands[IO, String, String]] =
 for {
   uri <- Resource.eval(RedisURI.make[IO]("redis://localhost"))
   cli <- RedisClient[IO](uri)
   cmd <- Redis[IO].fromClient(cli, RedisCodec.Utf8)
 } yield cmd

Note: if you don't need to create multiple connections, you might prefer to use either utf8 or simple instead.

Attributes

def fromClusterClient[K, V](clusterClient: RedisClusterClient, codec: RedisCodec[K, V])(readFrom: Option[ReadFrom]): Resource[F, RedisCommands[F, K, V]]

Creates a RedisCommands for a cluster connection

Creates a RedisCommands for a cluster connection

Example:

val redis: Resource[IO, RedisCommands[IO, String, String]] =
 for {
   uris <- Resource.eval(
           List("redis://localhost:30001", "redis://localhost:30002")
             .traverse(RedisURI.make[F](_))
         )
   cli <- RedisClusterClient[IO](uris: _*)
   cmd <- Redis[IO].fromClusterClient(cli, RedisCodec.Utf8)
 } yield cmd

Note: if you don't need to create multiple connections, you might prefer to use either clusterUtf8 or cluster instead.

Attributes

def fromClusterClientByNode[K, V](clusterClient: RedisClusterClient, codec: RedisCodec[K, V], nodeId: NodeId)(readFrom: Option[ReadFrom]): Resource[F, RedisCommands[F, K, V]]

Creates a RedisCommands by trying to establish a cluster connection to the specified node.

Creates a RedisCommands by trying to establish a cluster connection to the specified node.

Example:

val redis: Resource[IO, RedisCommands[IO, String, String]] =
 for {
   uris <- Resource.eval(
           List("redis://localhost:30001", "redis://localhost:30002")
             .traverse(RedisURI.make[F](_))
         )
   cli <- RedisClusterClient[IO](uris: _*)
   cmd <- Redis[IO].fromClusterClientByNode(cli, RedisCodec.Utf8, NodeId("1"))
 } yield cmd

Note: if you don't need to create multiple connections, you might prefer to use either clusterUtf8 or cluster instead.

Attributes

def masterReplica[K, V](conn: RedisMasterReplica[K, V]): Resource[F, RedisCommands[F, K, V]]

Creates a RedisCommands from a MasterReplica connection

Creates a RedisCommands from a MasterReplica connection

Example:

val redis: Resource[IO, RedisCommands[IO, String, String]] =
 for {
   uri <- Resource.eval(RedisURI.make[IO](redisURI))
   conn <- RedisMasterReplica[IO].make(RedisCodec.Utf8, uri)(Some(ReadFrom.MasterPreferred))
   cmds <- Redis[IO].masterReplica(conn)
 } yield cmds

Attributes

def simple[K, V](uri: String, codec: RedisCodec[K, V]): Resource[F, RedisCommands[F, K, V]]

Creates a RedisCommands for a single-node connection.

Creates a RedisCommands for a single-node connection.

It will create an underlying RedisClient with default options to establish connection with Redis.

Example:

Redis[IO].simple("redis://localhost", RedisCodec.Ascii)

Note: if you need to create multiple connections, use fromClient instead, which allows you to re-use the same client.

Attributes

Creates a RedisCommands for a single-node connection to deal with UTF-8 encoded keys and values.

Creates a RedisCommands for a single-node connection to deal with UTF-8 encoded keys and values.

It will create an underlying RedisClient with default options to establish connection with Redis.

Example:

Redis[IO].utf8("redis://localhost")

Note: if you need to create multiple connections, use fromClient instead, which allows you to re-use the same client.

Attributes

def withOptions[K, V](uri: String, opts: ClientOptions, codec: RedisCodec[K, V]): Resource[F, RedisCommands[F, K, V]]

Creates a RedisCommands for a single-node connection.

Creates a RedisCommands for a single-node connection.

It will create an underlying RedisClient using the supplied client options to establish connection with Redis.

Example:

for {
 opts <- Resource.eval(Sync[F].delay(ClientOptions.create())) // configure timeouts, etc
 cmds <- Redis[IO].withOptions("redis://localhost", opts, RedisCodec.Ascii)
} yield cmds

Note: if you need to create multiple connections, use fromClient instead, which allows you to re-use the same client.

Attributes

Implicits

Implicits

implicit val fl: FutureLift[F]
implicit val log: Log[F]