Class RedisClusterMapState<T>
- java.lang.Object
-
- org.apache.storm.redis.trident.state.AbstractRedisMapState<T>
-
- org.apache.storm.redis.trident.state.RedisClusterMapState<T>
-
- Type Parameters:
T- value's type class
- All Implemented Interfaces:
IBackingMap<T>
public class RedisClusterMapState<T> extends AbstractRedisMapState<T>
IBackingMap implementation for Redis Cluster environment.- See Also:
AbstractRedisMapState
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static classRedisClusterMapState.FactoryRedisClusterMapState.Factory provides Redis Cluster environment version of StateFactory.
-
Field Summary
-
Fields inherited from class org.apache.storm.redis.trident.state.AbstractRedisMapState
DEFAULT_SERIALIZERS
-
-
Constructor Summary
Constructors Constructor Description RedisClusterMapState(redis.clients.jedis.JedisCluster jedisCluster, Options options, Serializer<T> serializer, KeyFactory keyFactory)Constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected KeyFactorygetKeyFactory()Returns KeyFactory which is used for converting state key -> Redis key.protected SerializergetSerializer()Returns Serializer which is used for serializing tuple value and deserializing Redis value.static StateFactorynonTransactional(JedisClusterConfig jedisClusterConfig)Provides StateFactory for non transactional.static StateFactorynonTransactional(JedisClusterConfig jedisClusterConfig, RedisDataTypeDescription dataTypeDescription)Provides StateFactory for non transactional.static StateFactorynonTransactional(JedisClusterConfig jedisClusterConfig, KeyFactory factory)Provides StateFactory for non transactional.static StateFactorynonTransactional(JedisClusterConfig jedisClusterConfig, Options<Object> opts)Provides StateFactory for non transactional.static StateFactoryopaque(JedisClusterConfig jedisClusterConfig)Provides StateFactory for opaque transactional.static StateFactoryopaque(JedisClusterConfig jedisClusterConfig, RedisDataTypeDescription dataTypeDescription)Provides StateFactory for opaque transactional.static StateFactoryopaque(JedisClusterConfig jedisClusterConfig, KeyFactory factory)Provides StateFactory for opaque transactional.static StateFactoryopaque(JedisClusterConfig jedisClusterConfig, Options<OpaqueValue> opts)Provides StateFactory for opaque transactional.protected List<String>retrieveValuesFromRedis(List<String> keys)Retrieves values from Redis that each value is corresponding to each key.static StateFactorytransactional(JedisClusterConfig jedisClusterConfig)Provides StateFactory for transactional.static StateFactorytransactional(JedisClusterConfig jedisClusterConfig, RedisDataTypeDescription dataTypeDescription)Provides StateFactory for transactional.static StateFactorytransactional(JedisClusterConfig jedisClusterConfig, KeyFactory factory)Provides StateFactory for transactional.static StateFactorytransactional(JedisClusterConfig jedisClusterConfig, Options<TransactionalValue> opts)Provides StateFactory for transactional.protected voidupdateStatesToRedis(Map<String,String> keyValues)Updates (key, value) pairs to Redis.-
Methods inherited from class org.apache.storm.redis.trident.state.AbstractRedisMapState
multiGet, multiPut
-
-
-
-
Constructor Detail
-
RedisClusterMapState
public RedisClusterMapState(redis.clients.jedis.JedisCluster jedisCluster, Options options, Serializer<T> serializer, KeyFactory keyFactory)Constructor.- Parameters:
jedisCluster- JedisClusteroptions- options of Stateserializer- SerializerkeyFactory- KeyFactory
-
-
Method Detail
-
opaque
public static StateFactory opaque(JedisClusterConfig jedisClusterConfig)
Provides StateFactory for opaque transactional.- Parameters:
jedisClusterConfig- configuration for JedisCluster- Returns:
- StateFactory
-
opaque
public static StateFactory opaque(JedisClusterConfig jedisClusterConfig, RedisDataTypeDescription dataTypeDescription)
Provides StateFactory for opaque transactional.- Parameters:
jedisClusterConfig- configuration for JedisClusterdataTypeDescription- definition of data type- Returns:
- StateFactory
-
opaque
public static StateFactory opaque(JedisClusterConfig jedisClusterConfig, KeyFactory factory)
Provides StateFactory for opaque transactional.- Parameters:
jedisClusterConfig- configuration for JedisClusterfactory- key factory- Returns:
- StateFactory
-
opaque
public static StateFactory opaque(JedisClusterConfig jedisClusterConfig, Options<OpaqueValue> opts)
Provides StateFactory for opaque transactional.- Parameters:
jedisClusterConfig- configuration for JedisClusteropts- options of State- Returns:
- StateFactory
-
transactional
public static StateFactory transactional(JedisClusterConfig jedisClusterConfig)
Provides StateFactory for transactional.- Parameters:
jedisClusterConfig- configuration for JedisCluster- Returns:
- StateFactory
-
transactional
public static StateFactory transactional(JedisClusterConfig jedisClusterConfig, RedisDataTypeDescription dataTypeDescription)
Provides StateFactory for transactional.- Parameters:
jedisClusterConfig- configuration for JedisClusterdataTypeDescription- definition of data type- Returns:
- StateFactory
-
transactional
public static StateFactory transactional(JedisClusterConfig jedisClusterConfig, KeyFactory factory)
Provides StateFactory for transactional.- Parameters:
jedisClusterConfig- configuration for JedisClusterfactory- key factory- Returns:
- StateFactory
-
transactional
public static StateFactory transactional(JedisClusterConfig jedisClusterConfig, Options<TransactionalValue> opts)
Provides StateFactory for transactional.- Parameters:
jedisClusterConfig- configuration for JedisClusteropts- options of State- Returns:
- StateFactory
-
nonTransactional
public static StateFactory nonTransactional(JedisClusterConfig jedisClusterConfig)
Provides StateFactory for non transactional.- Parameters:
jedisClusterConfig- configuration for JedisCluster- Returns:
- StateFactory
-
nonTransactional
public static StateFactory nonTransactional(JedisClusterConfig jedisClusterConfig, RedisDataTypeDescription dataTypeDescription)
Provides StateFactory for non transactional.- Parameters:
jedisClusterConfig- configuration for JedisClusterdataTypeDescription- definition of data type- Returns:
- StateFactory
-
nonTransactional
public static StateFactory nonTransactional(JedisClusterConfig jedisClusterConfig, KeyFactory factory)
Provides StateFactory for non transactional.- Parameters:
jedisClusterConfig- configuration for JedisClusterfactory- key factory- Returns:
- StateFactory
-
nonTransactional
public static StateFactory nonTransactional(JedisClusterConfig jedisClusterConfig, Options<Object> opts)
Provides StateFactory for non transactional.- Parameters:
jedisClusterConfig- configuration for JedisClusteropts- options of State- Returns:
- StateFactory
-
getSerializer
protected Serializer getSerializer()
Returns Serializer which is used for serializing tuple value and deserializing Redis value.- Specified by:
getSerializerin classAbstractRedisMapState<T>- Returns:
- serializer
-
getKeyFactory
protected KeyFactory getKeyFactory()
Returns KeyFactory which is used for converting state key -> Redis key.- Specified by:
getKeyFactoryin classAbstractRedisMapState<T>- Returns:
- key factory
-
retrieveValuesFromRedis
protected List<String> retrieveValuesFromRedis(List<String> keys)
Retrieves values from Redis that each value is corresponding to each key.- Specified by:
retrieveValuesFromRedisin classAbstractRedisMapState<T>- Parameters:
keys- keys having state values- Returns:
- values which are corresponding to keys
-
updateStatesToRedis
protected void updateStatesToRedis(Map<String,String> keyValues)
Updates (key, value) pairs to Redis.- Specified by:
updateStatesToRedisin classAbstractRedisMapState<T>- Parameters:
keyValues- (key, value) pairs
-
-