p

io.chrisdavenport

rediculous

package rediculous

Source
package.scala
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. rediculous
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. final case class Redis[F[_], A](unRedis: Kleisli[F, RedisConnection[F], A]) extends Product with Serializable
  2. trait RedisArg[A] extends AnyRef
  3. trait RedisConnection[F[_]] extends AnyRef
  4. trait RedisCtx[F[_]] extends AnyRef

    RedisCtx is the Context in Which RedisOperations operate.

    RedisCtx is the Context in Which RedisOperations operate.

    Annotations
    @implicitNotFound( ... )
  5. trait RedisError extends RuntimeException

    Indicates a Error while processing for Rediculous

  6. type RedisIO[A] = Redis[IO, A]
  7. final case class RedisPipeline[A](value: RedisTxState[Queued[A]]) extends Product with Serializable

    For When you don't trust automatic pipelining.

    For When you don't trust automatic pipelining.

    ClusterMode: Multi Key Operations Will use for the first key provided.

    pipeline method converts the Pipeline state to the Redis Monad. This will error if you pipeline and have not actually enterred any redis commands.

  8. trait RedisPubSub[F[_]] extends AnyRef

    A RedisPubSub Represent an connection or group of connections communicating to the pubsub subsystem of Redis.

    A RedisPubSub Represent an connection or group of connections communicating to the pubsub subsystem of Redis.

    Only one caller should be responsible for runMessages, but delegation of how to handle errors and what to do when the connection closes or what state it closes is left to the user so they can determine what to do.

    Subscription commands are run synchronous to matching subscriptions. If your operations need to take a long time please delegate them into a queue for handling without holding up other messages being processed.

  9. trait RedisResult[+A] extends AnyRef
  10. trait RedisStream[F[_]] extends AnyRef
  11. final case class RedisTransaction[A](value: RedisTxState[Queued[A]]) extends Product with Serializable

    Transactions Operate via typeclasses.

    Transactions Operate via typeclasses. RedisCtx allows us to abstract our operations into different types depending on the behavior we want. In the case of transactions that is RedisTransaction. These can be composed together via its Applicative instance to form a transaction consisting of multiple commands, then transacted via either multiExec or transact on the class.

    In Cluster Mode the first key operation defines the node the entire Transaction will be sent to. Transactions are required to only operate on operations containing keys in the same keyslot, and users are required to hold this imperative or else redis will reject the transaction.

    Example:
    1. import io.chrisdavenport.rediculous._
      import cats.effect.Concurrent
      val tx = (
        RedisCommands.ping[RedisTransaction],
        RedisCommands.del[RedisTransaction](List("foo")),
        RedisCommands.get[RedisTransaction]("foo"),
        RedisCommands.set[RedisTransaction]("foo", "value"),
        RedisCommands.get[RedisTransaction]("foo")
      ).tupled
      
      def operation[F[_]: Concurrent] = tx.transact[F]
  12. sealed trait Resp extends Product with Serializable

Value Members

  1. object Redis extends Serializable
  2. object RedisArg
  3. object RedisCommands
  4. object RedisConnection
  5. object RedisCtx
  6. object RedisError extends Serializable
  7. object RedisPipeline extends Serializable
  8. object RedisProtocol
  9. object RedisPubSub
  10. object RedisResult extends RedisResultLowPriority
  11. object RedisStream
  12. object RedisTransaction extends Serializable
  13. object Resp extends Serializable
  14. object RespRaw
  15. object implicits

Inherited from AnyRef

Inherited from Any

Ungrouped