withSuspendingRedis

suspend fun <T> withSuspendingRedis(redisUrl: String = defaultRedisUrl, printStackTrace: Boolean = false, block: suspend (RedisClient?) -> T): T

Suspending variant of withRedis. Creates a short-lived connection, executes a suspending block, and closes it.

Passes null to block if the connection fails. Connecting, pinging and closing run on Dispatchers.IO; block runs in the caller's context, so Jedis calls made in it still block their thread.

Return

the result of block

Parameters

redisUrl

the Redis connection URL

printStackTrace

if true, logs the full stack trace on connection failure

block

the suspending operation to execute; receives null on connection failure

Type Parameters

T

the return type of the block

Throws

if redisUrl is invalid (see RedisUtils); block is not run