RedisRef
io.chrisdavenport.rediculous.concurrent.RedisRef
object RedisRef
Attributes
- Source
- RedisRef.scala
- Graph
-
- Supertypes
- Self type
-
RedisRef.type
Members list
Type members
Classlikes
class LockedRedisRef[F[_]](redisConnection: RedisConnection[F], key: String, acquireTimeout: FiniteDuration, lockTimeout: FiniteDuration, setOpts: SetOpts)(implicit evidence$1: Async[F]) extends Ref[F, Option[String]]
Attributes
- Source
- RedisRef.scala
- Supertypes
Value members
Concrete methods
def atLocation[F[_] : Async](redisConnection: RedisConnection[F], key: String, setIfAbsent: String): F[Ref[F, String]]
This uses the simple WATCH approach which means there is higher contention on the resource which under heavy concurrency situations a lot of retries.
This uses the simple WATCH approach which means there is higher contention on the resource which under heavy concurrency situations a lot of retries. However if there is very little concurrency will behave smoother
Attributes
- Source
- RedisRef.scala
Attributes
- Source
- RedisRef.scala
Attributes
- Source
- RedisRef.scala
Attributes
- Source
- RedisRef.scala
def lockedLocation[F[_] : Async](redisConnection: RedisConnection[F], key: String, default: String, acquireTimeout: FiniteDuration, lockTimeout: FiniteDuration, setOpts: SetOpts): F[Ref[F, String]]
This uses a seperate lock specifically for each keyed resource.
This uses a seperate lock specifically for each keyed resource. Guarding access to any behavior involving writes requires first aquiring the lock.
Attributes
- Source
- RedisRef.scala
def lockedOptionRef[F[_] : Async](redisConnection: RedisConnection[F], key: String, acquireTimeout: FiniteDuration, lockTimeout: FiniteDuration, setOpts: SetOpts): Ref[F, Option[String]]
Attributes
- Source
- RedisRef.scala
Attributes
- Source
- RedisRef.scala
In this article