Package io.lettuce.core.pubsub
Class RedisPubSubAsyncCommandsImpl<K,V>
- java.lang.Object
-
- io.lettuce.core.AbstractRedisAsyncCommands<K,V>
-
- io.lettuce.core.RedisAsyncCommandsImpl<K,V>
-
- io.lettuce.core.pubsub.RedisPubSubAsyncCommandsImpl<K,V>
-
- Type Parameters:
K
- Key type.V
- Value type.
- All Implemented Interfaces:
BaseRedisAsyncCommands<K,V>
,RedisAclAsyncCommands<K,V>
,RedisAsyncCommands<K,V>
,RedisFunctionAsyncCommands<K,V>
,RedisGeoAsyncCommands<K,V>
,RedisHashAsyncCommands<K,V>
,RedisHLLAsyncCommands<K,V>
,RedisKeyAsyncCommands<K,V>
,RedisListAsyncCommands<K,V>
,RedisScriptingAsyncCommands<K,V>
,RedisServerAsyncCommands<K,V>
,RedisSetAsyncCommands<K,V>
,RedisSortedSetAsyncCommands<K,V>
,RedisStreamAsyncCommands<K,V>
,RedisStringAsyncCommands<K,V>
,RedisTransactionalAsyncCommands<K,V>
,RedisClusterAsyncCommands<K,V>
,RedisPubSubAsyncCommands<K,V>
- Direct Known Subclasses:
RedisClusterPubSubAsyncCommandsImpl
public class RedisPubSubAsyncCommandsImpl<K,V> extends RedisAsyncCommandsImpl<K,V> implements RedisPubSubAsyncCommands<K,V>
An asynchronous and thread-safe API for a Redis pub/sub connection.- Author:
- Will Glozer, Mark Paluch
-
-
Constructor Summary
Constructors Constructor Description RedisPubSubAsyncCommandsImpl(StatefulRedisPubSubConnection<K,V> connection, RedisCodec<K,V> codec)
Initialize a new connection.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description StatefulRedisPubSubConnection<K,V>
getStatefulConnection()
RedisFuture<Void>
psubscribe(K... patterns)
Listen for messages published to channels matching the given patterns.RedisFuture<Long>
publish(K channel, V message)
Post a message to a channel.RedisFuture<List<K>>
pubsubChannels(K channel)
Lists the currently *active channels*.RedisFuture<Map<K,Long>>
pubsubNumsub(K... channels)
Returns the number of subscribers (not counting clients subscribed to patterns) for the specified channels.RedisFuture<Void>
punsubscribe(K... patterns)
Stop listening for messages posted to channels matching the given patterns.RedisFuture<Void>
subscribe(K... channels)
Listen for messages published to the given channels.RedisFuture<Void>
unsubscribe(K... channels)
Stop listening for messages posted to the given channels.-
Methods inherited from class io.lettuce.core.AbstractRedisAsyncCommands
aclCat, aclCat, aclDeluser, aclDryRun, aclDryRun, aclGenpass, aclGenpass, aclGetuser, aclList, aclLoad, aclLog, aclLog, aclLogReset, aclSave, aclSetuser, aclUsers, aclWhoami, append, asking, auth, auth, auth, auth, bgrewriteaof, bgsave, bitcount, bitcount, bitfield, bitopAnd, bitopNot, bitopOr, bitopXor, bitpos, bitpos, bitpos, blmove, blmove, blmpop, blmpop, blpop, blpop, brpop, brpop, brpoplpush, brpoplpush, bzmpop, bzmpop, bzmpop, bzmpop, bzpopmax, bzpopmax, bzpopmin, bzpopmin, clientCaching, clientGetname, clientGetredir, clientId, clientInfo, clientKill, clientKill, clientList, clientList, clientNoEvict, clientPause, clientSetinfo, clientSetname, clientTracking, clientUnblock, clusterAddSlots, clusterAddSlotsRange, clusterBumpepoch, clusterCountFailureReports, clusterCountKeysInSlot, clusterDelSlots, clusterDelSlotsRange, clusterFailover, clusterFailover, clusterFlushslots, clusterForget, clusterGetKeysInSlot, clusterInfo, clusterKeyslot, clusterMeet, clusterMyId, clusterNodes, clusterReplicas, clusterReplicate, clusterReset, clusterSaveconfig, clusterSetConfigEpoch, clusterSetSlotImporting, clusterSetSlotMigrating, clusterSetSlotNode, clusterSetSlotStable, clusterShards, clusterSlaves, clusterSlots, command, commandCount, commandInfo, commandInfo, configGet, configGet, configResetstat, configRewrite, configSet, configSet, copy, copy, dbsize, debugCrashAndRecover, debugHtstats, debugObject, debugOom, debugReload, debugRestart, debugSdslen, debugSegfault, decr, decrby, del, del, digest, digest, discard, dispatch, dispatch, dispatch, dispatch, dispatch, dump, echo, eval, eval, eval, eval, evalReadOnly, evalsha, evalsha, evalshaReadOnly, exec, exists, exists, expire, expire, expire, expire, expireat, expireat, expireat, expireat, expireat, expireat, expiretime, fcall, fcall, fcallReadOnly, fcallReadOnly, flushall, flushall, flushallAsync, flushCommands, flushdb, flushdb, flushdbAsync, functionDump, functionFlush, functionKill, functionList, functionList, functionLoad, functionLoad, functionRestore, functionRestore, geoadd, geoadd, geoadd, geoadd, geoadd, geoadd, geodist, geohash, geopos, georadius, georadius, georadius, georadius_ro, georadius_ro, georadiusbymember, georadiusbymember, georadiusbymember, georadiusbymember_ro, georadiusbymember_ro, geosearch, geosearch, geosearchstore, get, getbit, getConnection, getdel, getex, getrange, getset, hdel, hexists, hget, hgetall, hgetall, hincrby, hincrbyfloat, hkeys, hkeys, hlen, hmget, hmget, hmset, hrandfield, hrandfield, hrandfieldWithvalues, hrandfieldWithvalues, hscan, hscan, hscan, hscan, hscan, hscan, hscan, hscan, hset, hset, hsetnx, hstrlen, hvals, hvals, incr, incrby, incrbyfloat, info, info, isOpen, keys, keys, lastsave, lindex, linsert, llen, lmove, lmpop, lpop, lpop, lpos, lpos, lpos, lpos, lpush, lpushx, lrange, lrange, lrem, lset, ltrim, memoryUsage, mget, mget, mget, mget, migrate, migrate, move, mset, msetnx, multi, objectEncoding, objectFreq, objectIdletime, objectRefcount, persist, pexpire, pexpire, pexpire, pexpire, pexpireat, pexpireat, pexpireat, pexpireat, pexpireat, pexpireat, pexpiretime, pfadd, pfcount, pfmerge, ping, psetex, pttl, pubsubChannels, pubsubNumpat, quit, randomkey, readOnly, readWrite, rename, renamenx, replicaof, replicaofNoOne, reset, restore, restore, role, rpop, rpop, rpoplpush, rpush, rpushx, sadd, save, scan, scan, scan, scan, scan, scan, scan, scan, scard, scriptExists, scriptFlush, scriptFlush, scriptKill, scriptLoad, scriptLoad, sdiff, sdiff, sdiffstore, select, set, set, setAutoFlushCommands, setbit, setex, setGet, setGet, setnx, setrange, setTimeout, shutdown, shutdown, sinter, sinter, sintercard, sintercard, sinterstore, sismember, slaveof, slaveofNoOne, slowlogGet, slowlogGet, slowlogLen, slowlogReset, smembers, smembers, smismember, smove, sort, sort, sort, sort, sortReadOnly, sortReadOnly, sortReadOnly, sortReadOnly, sortStore, spop, spop, srandmember, srandmember, srandmember, srem, sscan, sscan, sscan, sscan, sscan, sscan, sscan, sscan, stralgoLcs, strlen, sunion, sunion, sunionstore, swapdb, time, touch, touch, ttl, type, unlink, unlink, unwatch, waitForReplication, watch, xack, xadd, xadd, xadd, xadd, xautoclaim, xclaim, xclaim, xdel, xgroupCreate, xgroupCreate, xgroupCreateconsumer, xgroupDelconsumer, xgroupDestroy, xgroupSetid, xinfoConsumers, xinfoGroups, xinfoStream, xlen, xpending, xpending, xpending, xpending, xrange, xrange, xread, xread, xreadgroup, xreadgroup, xrevrange, xrevrange, xtrim, xtrim, xtrim, zadd, zadd, zadd, zadd, zadd, zadd, zaddincr, zaddincr, zcard, zcount, zcount, zcount, zdiff, zdiffstore, zdiffWithScores, zincrby, zinter, zinter, zintercard, zintercard, zinterstore, zinterstore, zinterWithScores, zinterWithScores, zlexcount, zlexcount, zmpop, zmpop, zmscore, zpopmax, zpopmax, zpopmin, zpopmin, zrandmember, zrandmember, zrandmemberWithScores, zrandmemberWithScores, zrange, zrange, zrangebylex, zrangebylex, zrangebylex, zrangebylex, zrangebyscore, zrangebyscore, zrangebyscore, zrangebyscore, zrangebyscore, zrangebyscore, zrangebyscore, zrangebyscore, zrangebyscore, zrangebyscore, zrangebyscore, zrangebyscore, zrangebyscoreWithScores, zrangebyscoreWithScores, zrangebyscoreWithScores, zrangebyscoreWithScores, zrangebyscoreWithScores, zrangebyscoreWithScores, zrangebyscoreWithScores, zrangebyscoreWithScores, zrangebyscoreWithScores, zrangebyscoreWithScores, zrangebyscoreWithScores, zrangebyscoreWithScores, zrangestore, zrangestorebylex, zrangestorebyscore, zrangeWithScores, zrangeWithScores, zrank, zrankWithScore, zrem, zremrangebylex, zremrangebylex, zremrangebyrank, zremrangebyscore, zremrangebyscore, zremrangebyscore, zrevrange, zrevrange, zrevrangebylex, zrevrangebylex, zrevrangebyscore, zrevrangebyscore, zrevrangebyscore, zrevrangebyscore, zrevrangebyscore, zrevrangebyscore, zrevrangebyscore, zrevrangebyscore, zrevrangebyscore, zrevrangebyscore, zrevrangebyscore, zrevrangebyscore, zrevrangebyscoreWithScores, zrevrangebyscoreWithScores, zrevrangebyscoreWithScores, zrevrangebyscoreWithScores, zrevrangebyscoreWithScores, zrevrangebyscoreWithScores, zrevrangebyscoreWithScores, zrevrangebyscoreWithScores, zrevrangebyscoreWithScores, zrevrangebyscoreWithScores, zrevrangebyscoreWithScores, zrevrangebyscoreWithScores, zrevrangestore, zrevrangestorebylex, zrevrangestorebyscore, zrevrangeWithScores, zrevrangeWithScores, zrevrank, zrevrankWithScore, zscan, zscan, zscan, zscan, zscan, zscan, zscan, zscan, zscore, zunion, zunion, zunionstore, zunionstore, zunionWithScores, zunionWithScores
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface io.lettuce.core.api.async.BaseRedisAsyncCommands
dispatch, dispatch, echo, flushCommands, isOpen, ping, pubsubChannels, pubsubNumpat, quit, reset, role, setAutoFlushCommands, waitForReplication
-
Methods inherited from interface io.lettuce.core.api.async.RedisAclAsyncCommands
aclCat, aclCat, aclDeluser, aclDryRun, aclDryRun, aclGenpass, aclGenpass, aclGetuser, aclList, aclLoad, aclLog, aclLog, aclLogReset, aclSave, aclSetuser, aclUsers, aclWhoami
-
Methods inherited from interface io.lettuce.core.api.async.RedisAsyncCommands
auth, auth, select, swapdb
-
Methods inherited from interface io.lettuce.core.cluster.api.async.RedisClusterAsyncCommands
asking, clusterAddSlots, clusterAddSlotsRange, clusterBumpepoch, clusterCountFailureReports, clusterCountKeysInSlot, clusterDelSlots, clusterDelSlotsRange, clusterFailover, clusterFailover, clusterFlushslots, clusterForget, clusterGetKeysInSlot, clusterInfo, clusterKeyslot, clusterMeet, clusterMyId, clusterNodes, clusterReplicas, clusterReplicate, clusterReset, clusterSaveconfig, clusterSetConfigEpoch, clusterSetSlotImporting, clusterSetSlotMigrating, clusterSetSlotNode, clusterSetSlotStable, clusterShards, clusterSlaves, clusterSlots, msetnx, readOnly, readWrite, setTimeout
-
Methods inherited from interface io.lettuce.core.api.async.RedisFunctionAsyncCommands
fcall, fcall, fcallReadOnly, fcallReadOnly, functionDump, functionFlush, functionKill, functionList, functionList, functionLoad, functionLoad, functionRestore, functionRestore
-
Methods inherited from interface io.lettuce.core.api.async.RedisGeoAsyncCommands
geoadd, geoadd, geoadd, geoadd, geoadd, geoadd, geodist, geohash, geopos, georadius, georadius, georadius, georadiusbymember, georadiusbymember, georadiusbymember, geosearch, geosearch, geosearchstore
-
Methods inherited from interface io.lettuce.core.api.async.RedisHashAsyncCommands
hdel, hexists, hget, hgetall, hgetall, hincrby, hincrbyfloat, hkeys, hkeys, hlen, hmget, hmget, hmset, hrandfield, hrandfield, hrandfieldWithvalues, hrandfieldWithvalues, hscan, hscan, hscan, hscan, hscan, hscan, hscan, hscan, hset, hset, hsetnx, hstrlen, hvals, hvals
-
Methods inherited from interface io.lettuce.core.api.async.RedisHLLAsyncCommands
pfadd, pfcount, pfmerge
-
Methods inherited from interface io.lettuce.core.api.async.RedisKeyAsyncCommands
copy, copy, del, dump, exists, expire, expire, expire, expire, expireat, expireat, expireat, expireat, expireat, expireat, expiretime, keys, keys, migrate, migrate, move, objectEncoding, objectFreq, objectIdletime, objectRefcount, persist, pexpire, pexpire, pexpire, pexpire, pexpireat, pexpireat, pexpireat, pexpireat, pexpireat, pexpireat, pexpiretime, pttl, randomkey, rename, renamenx, restore, restore, scan, scan, scan, scan, scan, scan, scan, scan, sort, sort, sort, sort, sortReadOnly, sortReadOnly, sortReadOnly, sortReadOnly, sortStore, touch, ttl, type, unlink
-
Methods inherited from interface io.lettuce.core.api.async.RedisListAsyncCommands
blmove, blmove, blmpop, blmpop, blpop, blpop, brpop, brpop, brpoplpush, brpoplpush, lindex, linsert, llen, lmove, lmpop, lpop, lpop, lpos, lpos, lpos, lpos, lpush, lpushx, lrange, lrange, lrem, lset, ltrim, rpop, rpop, rpoplpush, rpush, rpushx
-
Methods inherited from interface io.lettuce.core.api.async.RedisScriptingAsyncCommands
digest, digest, eval, eval, eval, eval, evalReadOnly, evalsha, evalsha, evalshaReadOnly, scriptExists, scriptFlush, scriptFlush, scriptKill, scriptLoad, scriptLoad
-
Methods inherited from interface io.lettuce.core.api.async.RedisServerAsyncCommands
bgrewriteaof, bgsave, clientCaching, clientGetname, clientGetredir, clientId, clientInfo, clientKill, clientKill, clientList, clientList, clientNoEvict, clientPause, clientSetinfo, clientSetname, clientTracking, clientUnblock, command, commandCount, commandInfo, commandInfo, configGet, configGet, configResetstat, configRewrite, configSet, configSet, dbsize, debugCrashAndRecover, debugHtstats, debugObject, debugOom, debugReload, debugRestart, debugSdslen, debugSegfault, flushall, flushall, flushallAsync, flushdb, flushdb, flushdbAsync, info, info, lastsave, memoryUsage, replicaof, replicaofNoOne, save, shutdown, shutdown, slaveof, slaveofNoOne, slowlogGet, slowlogGet, slowlogLen, slowlogReset, time
-
Methods inherited from interface io.lettuce.core.api.async.RedisSetAsyncCommands
sadd, scard, sdiff, sdiff, sdiffstore, sinter, sinter, sintercard, sintercard, sinterstore, sismember, smembers, smembers, smismember, smove, spop, spop, srandmember, srandmember, srandmember, srem, sscan, sscan, sscan, sscan, sscan, sscan, sscan, sscan, sunion, sunion, sunionstore
-
Methods inherited from interface io.lettuce.core.api.async.RedisSortedSetAsyncCommands
bzmpop, bzmpop, bzmpop, bzmpop, bzpopmax, bzpopmax, bzpopmin, bzpopmin, zadd, zadd, zadd, zadd, zadd, zadd, zaddincr, zaddincr, zcard, zcount, zcount, zcount, zdiff, zdiffstore, zdiffWithScores, zincrby, zinter, zinter, zintercard, zintercard, zinterstore, zinterstore, zinterWithScores, zinterWithScores, zlexcount, zlexcount, zmpop, zmpop, zmscore, zpopmax, zpopmax, zpopmin, zpopmin, zrandmember, zrandmember, zrandmemberWithScores, zrandmemberWithScores, zrange, zrange, zrangebylex, zrangebylex, zrangebylex, zrangebylex, zrangebyscore, zrangebyscore, zrangebyscore, zrangebyscore, zrangebyscore, zrangebyscore, zrangebyscore, zrangebyscore, zrangebyscore, zrangebyscore, zrangebyscore, zrangebyscore, zrangebyscoreWithScores, zrangebyscoreWithScores, zrangebyscoreWithScores, zrangebyscoreWithScores, zrangebyscoreWithScores, zrangebyscoreWithScores, zrangebyscoreWithScores, zrangebyscoreWithScores, zrangebyscoreWithScores, zrangebyscoreWithScores, zrangebyscoreWithScores, zrangebyscoreWithScores, zrangestore, zrangestorebylex, zrangestorebyscore, zrangeWithScores, zrangeWithScores, zrank, zrankWithScore, zrem, zremrangebylex, zremrangebylex, zremrangebyrank, zremrangebyscore, zremrangebyscore, zremrangebyscore, zrevrange, zrevrange, zrevrangebylex, zrevrangebylex, zrevrangebyscore, zrevrangebyscore, zrevrangebyscore, zrevrangebyscore, zrevrangebyscore, zrevrangebyscore, zrevrangebyscore, zrevrangebyscore, zrevrangebyscore, zrevrangebyscore, zrevrangebyscore, zrevrangebyscore, zrevrangebyscoreWithScores, zrevrangebyscoreWithScores, zrevrangebyscoreWithScores, zrevrangebyscoreWithScores, zrevrangebyscoreWithScores, zrevrangebyscoreWithScores, zrevrangebyscoreWithScores, zrevrangebyscoreWithScores, zrevrangebyscoreWithScores, zrevrangebyscoreWithScores, zrevrangebyscoreWithScores, zrevrangebyscoreWithScores, zrevrangestore, zrevrangestorebylex, zrevrangestorebyscore, zrevrangeWithScores, zrevrangeWithScores, zrevrank, zrevrankWithScore, zscan, zscan, zscan, zscan, zscan, zscan, zscan, zscan, zscore, zunion, zunion, zunionstore, zunionstore, zunionWithScores, zunionWithScores
-
Methods inherited from interface io.lettuce.core.api.async.RedisStreamAsyncCommands
xack, xadd, xadd, xadd, xadd, xautoclaim, xclaim, xclaim, xdel, xgroupCreate, xgroupCreate, xgroupCreateconsumer, xgroupDelconsumer, xgroupDestroy, xgroupSetid, xinfoConsumers, xinfoGroups, xinfoStream, xlen, xpending, xpending, xpending, xpending, xrange, xrange, xread, xread, xreadgroup, xreadgroup, xrevrange, xrevrange, xtrim, xtrim, xtrim
-
Methods inherited from interface io.lettuce.core.api.async.RedisStringAsyncCommands
append, bitcount, bitcount, bitfield, bitopAnd, bitopNot, bitopOr, bitopXor, bitpos, bitpos, bitpos, decr, decrby, get, getbit, getdel, getex, getrange, getset, incr, incrby, incrbyfloat, mget, mget, mset, psetex, set, set, setbit, setex, setGet, setGet, setnx, setrange, stralgoLcs, strlen
-
-
-
-
Constructor Detail
-
RedisPubSubAsyncCommandsImpl
public RedisPubSubAsyncCommandsImpl(StatefulRedisPubSubConnection<K,V> connection, RedisCodec<K,V> codec)
Initialize a new connection.- Parameters:
connection
- the connection .codec
- Codec used to encode/decode keys and values.
-
-
Method Detail
-
psubscribe
public RedisFuture<Void> psubscribe(K... patterns)
Description copied from interface:RedisPubSubAsyncCommands
Listen for messages published to channels matching the given patterns.- Specified by:
psubscribe
in interfaceRedisPubSubAsyncCommands<K,V>
- Parameters:
patterns
- the patterns- Returns:
- RedisFuture<Void> Future to synchronize
psubscribe
completion
-
punsubscribe
public RedisFuture<Void> punsubscribe(K... patterns)
Description copied from interface:RedisPubSubAsyncCommands
Stop listening for messages posted to channels matching the given patterns.- Specified by:
punsubscribe
in interfaceRedisPubSubAsyncCommands<K,V>
- Parameters:
patterns
- the patterns- Returns:
- RedisFuture<Void> Future to synchronize
punsubscribe
completion
-
subscribe
public RedisFuture<Void> subscribe(K... channels)
Description copied from interface:RedisPubSubAsyncCommands
Listen for messages published to the given channels.- Specified by:
subscribe
in interfaceRedisPubSubAsyncCommands<K,V>
- Parameters:
channels
- the channels- Returns:
- RedisFuture<Void> Future to synchronize
subscribe
completion
-
unsubscribe
public RedisFuture<Void> unsubscribe(K... channels)
Description copied from interface:RedisPubSubAsyncCommands
Stop listening for messages posted to the given channels.- Specified by:
unsubscribe
in interfaceRedisPubSubAsyncCommands<K,V>
- Parameters:
channels
- the channels- Returns:
- RedisFuture<Void> Future to synchronize
unsubscribe
completion.
-
publish
public RedisFuture<Long> publish(K channel, V message)
Description copied from interface:BaseRedisAsyncCommands
Post a message to a channel.- Specified by:
publish
in interfaceBaseRedisAsyncCommands<K,V>
- Overrides:
publish
in classAbstractRedisAsyncCommands<K,V>
- Parameters:
channel
- the channel type: key.message
- the message type: value.- Returns:
- Long integer-reply the number of clients that received the message.
-
pubsubChannels
public RedisFuture<List<K>> pubsubChannels(K channel)
Description copied from interface:BaseRedisAsyncCommands
Lists the currently *active channels*.- Specified by:
pubsubChannels
in interfaceBaseRedisAsyncCommands<K,V>
- Overrides:
pubsubChannels
in classAbstractRedisAsyncCommands<K,V>
- Parameters:
channel
- the key.- Returns:
- List<K> array-reply a list of active channels, optionally matching the specified pattern.
-
pubsubNumsub
public RedisFuture<Map<K,Long>> pubsubNumsub(K... channels)
Description copied from interface:BaseRedisAsyncCommands
Returns the number of subscribers (not counting clients subscribed to patterns) for the specified channels.- Specified by:
pubsubNumsub
in interfaceBaseRedisAsyncCommands<K,V>
- Overrides:
pubsubNumsub
in classAbstractRedisAsyncCommands<K,V>
- Parameters:
channels
- channel keys.- Returns:
- array-reply a list of channels and number of subscribers for every channel.
-
getStatefulConnection
public StatefulRedisPubSubConnection<K,V> getStatefulConnection()
- Specified by:
getStatefulConnection
in interfaceRedisAsyncCommands<K,V>
- Specified by:
getStatefulConnection
in interfaceRedisPubSubAsyncCommands<K,V>
- Overrides:
getStatefulConnection
in classRedisAsyncCommandsImpl<K,V>
- Returns:
- the underlying connection.
-
-