Package org.redisson

Class RedissonObject

java.lang.Object
org.redisson.RedissonObject
All Implemented Interfaces:
RObject, RObjectAsync
Direct Known Subclasses:
BaseRedissonList, JCache, RedissonAtomicDouble, RedissonAtomicLong, RedissonBaseAdder, RedissonBaseLock, RedissonBitSet, RedissonBloomFilter, RedissonBucket, RedissonCountDownLatch, RedissonDelayedQueue, RedissonHyperLogLog, RedissonIdGenerator, RedissonJsonBucket, RedissonListMultimapValues, RedissonMap, RedissonMultimap, RedissonPermitExpirableSemaphore, RedissonRateLimiter, RedissonReadWriteLock, RedissonReliableTopic, RedissonScoredSortedSet, RedissonSemaphore, RedissonSet, RedissonSetCache, RedissonSetMultimapValues, RedissonSortedSet, RedissonStream, RedissonTimeSeries, RedissonTransferQueue

public abstract class RedissonObject extends Object implements RObject
Base Redisson object
Author:
Nikita Koksharov
  • Field Details

  • Constructor Details

  • Method Details

    • prefixName

      public static String prefixName(String prefix, String name)
    • getServiceManager

      public ServiceManager getServiceManager()
    • suffixName

      public static String suffixName(String name, String suffix)
    • toStream

      protected final <T> Stream<T> toStream(Iterator<T> iterator)
    • get

      protected final <V> V get(RFuture<V> future)
    • toSeconds

      protected final long toSeconds(long timeout, TimeUnit unit)
    • getName

      public String getName()
      Description copied from interface: RObject
      Returns name of object
      Specified by:
      getName in interface RObject
      Returns:
      name - name of object
    • getRawName

      public final String getRawName()
    • getRawName

      protected String getRawName(Object o)
    • setName

      protected void setName(String name)
    • rename

      public void rename(String newName)
      Description copied from interface: RObject
      Rename current object key to newName
      Specified by:
      rename in interface RObject
      Parameters:
      newName - - new name of object
    • sizeInMemoryAsync

      public RFuture<Long> sizeInMemoryAsync()
      Description copied from interface: RObjectAsync
      Returns bytes amount used by object in Redis memory.
      Specified by:
      sizeInMemoryAsync in interface RObjectAsync
      Returns:
      size in bytes
    • sizeInMemoryAsync

      public final RFuture<Long> sizeInMemoryAsync(List<Object> keys)
    • sizeInMemoryAsync

      public final RFuture<Long> sizeInMemoryAsync(CommandAsyncExecutor commandExecutor, List<Object> keys)
    • sizeInMemory

      public long sizeInMemory()
      Description copied from interface: RObject
      Returns bytes amount used by object in Redis memory.
      Specified by:
      sizeInMemory in interface RObject
      Returns:
      size in bytes
    • copyAsync

      public final RFuture<Boolean> copyAsync(String destination)
      Description copied from interface: RObjectAsync
      Copy this object instance to the new instance with a defined name.
      Specified by:
      copyAsync in interface RObjectAsync
      Parameters:
      destination - name of the destination instance
      Returns:
      true if this object instance was copied else false
    • copyAsync

      public final RFuture<Boolean> copyAsync(String destination, int database)
      Description copied from interface: RObjectAsync
      Copy this object instance to the new instance with a defined name and database.
      Specified by:
      copyAsync in interface RObjectAsync
      Parameters:
      destination - name of the destination instance
      database - database number
      Returns:
      true if this object instance was copied else false
    • copyAndReplaceAsync

      public final RFuture<Boolean> copyAndReplaceAsync(String destination)
      Description copied from interface: RObjectAsync
      Copy this object instance to the new instance with a defined name, and replace it if it already exists.
      Specified by:
      copyAndReplaceAsync in interface RObjectAsync
      Parameters:
      destination - name of the destination instance
      Returns:
      true if this object instance was copied else false
    • copyAndReplaceAsync

      public final RFuture<Boolean> copyAndReplaceAsync(String destination, int database)
      Description copied from interface: RObjectAsync
      Copy this object instance to the new instance with a defined name and database, and replace it if it already exists.
      Specified by:
      copyAndReplaceAsync in interface RObjectAsync
      Parameters:
      destination - name of the destination instance
      database - database number
      Returns:
      true if this object instance was copied else false
    • copyAsync

      protected RFuture<Boolean> copyAsync(List<Object> keys, int database, boolean replace)
    • renameAsync

      protected final RFuture<Void> renameAsync(List<Object> keys)
    • renamenxAsync

      protected final RFuture<Void> renamenxAsync(List<Object> keys)
    • copyAsync

      protected final RFuture<Boolean> copyAsync(CommandAsyncExecutor commandExecutor, List<Object> keys, int database, boolean replace)
    • renameAsync

      protected final RFuture<Void> renameAsync(CommandAsyncExecutor commandExecutor, List<Object> keys, Runnable runnable)
    • renamenxAsync

      protected final RFuture<Boolean> renamenxAsync(CommandAsyncExecutor commandExecutor, List<Object> keys, Consumer<Boolean> callback)
    • copy

      public final boolean copy(String destination)
      Description copied from interface: RObject
      Copy this object instance to the new instance with a defined name.
      Specified by:
      copy in interface RObject
      Parameters:
      destination - name of the destination instance
      Returns:
      true if this object instance was copied else false
    • copy

      public final boolean copy(String destination, int database)
      Description copied from interface: RObject
      Copy this object instance to the new instance with a defined name and database.
      Specified by:
      copy in interface RObject
      Parameters:
      destination - name of the destination instance
      database - database number
      Returns:
      true if this object instance was copied else false
    • copyAndReplace

      public final boolean copyAndReplace(String destination)
      Description copied from interface: RObject
      Copy this object instance to the new instance with a defined name, and replace it if it already exists.
      Specified by:
      copyAndReplace in interface RObject
      Parameters:
      destination - name of the destination instance
      Returns:
      true if this object instance was copied else false
    • copyAndReplace

      public final boolean copyAndReplace(String destination, int database)
      Description copied from interface: RObject
      Copy this object instance to the new instance with a defined name and database, and replace it if it already exists.
      Specified by:
      copyAndReplace in interface RObject
      Parameters:
      destination - name of the destination instance
      database - database number
      Returns:
      true if this object instance was copied else false
    • mapName

      protected final String mapName(String name)
    • checkNotBatch

      protected final void checkNotBatch()
    • renameAsync

      public RFuture<Void> renameAsync(String newName)
      Description copied from interface: RObjectAsync
      Rename current object key to newName in async mode
      Specified by:
      renameAsync in interface RObjectAsync
      Parameters:
      newName - - new name of object
      Returns:
      void
    • migrate

      public void migrate(String host, int port, int database, long timeout)
      Description copied from interface: RObject
      Copy object from source Redis instance to destination Redis instance
      Specified by:
      migrate in interface RObject
      Parameters:
      host - - destination host
      port - - destination port
      database - - destination database
      timeout - - maximum idle time in any moment of the communication with the destination instance in milliseconds
    • migrateAsync

      public RFuture<Void> migrateAsync(String host, int port, int database, long timeout)
      Description copied from interface: RObjectAsync
      Transfer object from source Redis instance to destination Redis instance in async mode
      Specified by:
      migrateAsync in interface RObjectAsync
      Parameters:
      host - - destination host
      port - - destination port
      database - - destination database
      timeout - - maximum idle time in any moment of the communication with the destination instance in milliseconds
      Returns:
      void
    • copy

      public void copy(String host, int port, int database, long timeout)
      Description copied from interface: RObject
      Copy object from source Redis instance to destination Redis instance
      Specified by:
      copy in interface RObject
      Parameters:
      host - - destination host
      port - - destination port
      database - - destination database
      timeout - - maximum idle time in any moment of the communication with the destination instance in milliseconds
    • copyAsync

      public RFuture<Void> copyAsync(String host, int port, int database, long timeout)
      Description copied from interface: RObjectAsync
      Copy object from source Redis instance to destination Redis instance in async mode
      Specified by:
      copyAsync in interface RObjectAsync
      Parameters:
      host - - destination host
      port - - destination port
      database - - destination database
      timeout - - maximum idle time in any moment of the communication with the destination instance in milliseconds
      Returns:
      void
    • move

      public boolean move(int database)
      Description copied from interface: RObject
      Move object to another database
      Specified by:
      move in interface RObject
      Parameters:
      database - - Redis database number
      Returns:
      true if key was moved else false
    • moveAsync

      public RFuture<Boolean> moveAsync(int database)
      Description copied from interface: RObjectAsync
      Move object to another database in async mode
      Specified by:
      moveAsync in interface RObjectAsync
      Parameters:
      database - - number of Redis database
      Returns:
      true if key was moved false if not
    • renamenx

      public boolean renamenx(String newName)
      Description copied from interface: RObject
      Rename current object key to newName only if new key is not exists
      Specified by:
      renamenx in interface RObject
      Parameters:
      newName - - new name of object
      Returns:
      true if object has been renamed successfully and false otherwise
    • renamenxAsync

      public RFuture<Boolean> renamenxAsync(String newName)
      Description copied from interface: RObjectAsync
      Rename current object key to newName in async mode only if new key is not exists
      Specified by:
      renamenxAsync in interface RObjectAsync
      Parameters:
      newName - - new name of object
      Returns:
      true if object has been renamed successfully and false otherwise
    • delete

      public boolean delete()
      Description copied from interface: RObject
      Deletes the object
      Specified by:
      delete in interface RObject
      Returns:
      true if it was exist and deleted else false
    • deleteAsync

      public RFuture<Boolean> deleteAsync()
      Description copied from interface: RObjectAsync
      Delete object in async mode
      Specified by:
      deleteAsync in interface RObjectAsync
      Returns:
      true if object was deleted false if not
    • deleteAsync

      protected final RFuture<Boolean> deleteAsync(String... keys)
    • unlink

      public boolean unlink()
      Description copied from interface: RObject
      Delete the objects. Actual removal will happen later asynchronously.

      Requires Redis 4.0+

      Specified by:
      unlink in interface RObject
      Returns:
      true if it was exist and deleted else false
    • unlinkAsync

      public RFuture<Boolean> unlinkAsync()
      Description copied from interface: RObjectAsync
      Delete the objects. Actual removal will happen later asynchronously.

      Requires Redis 4.0+

      Specified by:
      unlinkAsync in interface RObjectAsync
      Returns:
      true if it was exist and deleted else false
    • touch

      public boolean touch()
      Description copied from interface: RObject
      Update the last access time of an object.
      Specified by:
      touch in interface RObject
      Returns:
      true if object was touched else false
    • touchAsync

      public RFuture<Boolean> touchAsync()
      Description copied from interface: RObjectAsync
      Update the last access time of an object in async mode.
      Specified by:
      touchAsync in interface RObjectAsync
      Returns:
      true if object was touched else false
    • isExists

      public boolean isExists()
      Description copied from interface: RObject
      Check object existence
      Specified by:
      isExists in interface RObject
      Returns:
      true if object exists and false otherwise
    • isExistsAsync

      public RFuture<Boolean> isExistsAsync()
      Description copied from interface: RObjectAsync
      Check object existence in async mode.
      Specified by:
      isExistsAsync in interface RObjectAsync
      Returns:
      true if object exists and false otherwise
    • getCodec

      public Codec getCodec()
      Description copied from interface: RObject
      Returns the underlying Codec used by this RObject
      Specified by:
      getCodec in interface RObject
      Returns:
      Codec of object
    • encode

      protected List<io.netty.buffer.ByteBuf> encode(Collection<?> values)
    • encode

      public void encode(Collection<Object> params, Collection<?> values)
    • getLockByMapKey

      public final String getLockByMapKey(Object key, String suffix)
    • getLockByValue

      public final String getLockByValue(Object key, String suffix)
    • encodeMapKeys

      protected final void encodeMapKeys(Collection<Object> params, Collection<?> values)
    • encodeMapValues

      protected final void encodeMapValues(Collection<Object> params, Collection<?> values)
    • encode

      public io.netty.buffer.ByteBuf encode(Object value)
    • encode

      public void encode(Collection<?> params, Object value)
    • encodeMapKey

      public final io.netty.buffer.ByteBuf encodeMapKey(Object value)
    • encodeMapKey

      public final io.netty.buffer.ByteBuf encodeMapKey(Object value, Collection<Object> params)
    • encodeMapValue

      public final io.netty.buffer.ByteBuf encodeMapValue(Object value)
    • dump

      public byte[] dump()
      Description copied from interface: RObject
      Returns dump of object
      Specified by:
      dump in interface RObject
      Returns:
      dump
    • dumpAsync

      public RFuture<byte[]> dumpAsync()
      Description copied from interface: RObjectAsync
      Returns dump of object
      Specified by:
      dumpAsync in interface RObjectAsync
      Returns:
      dump
    • restore

      public void restore(byte[] state)
      Description copied from interface: RObject
      Restores object using its state returned by RObject.dump() method.
      Specified by:
      restore in interface RObject
      Parameters:
      state - - state of object
    • restoreAsync

      public RFuture<Void> restoreAsync(byte[] state)
      Description copied from interface: RObjectAsync
      Restores object using its state returned by RObjectAsync.dumpAsync() method.
      Specified by:
      restoreAsync in interface RObjectAsync
      Parameters:
      state - - state of object
      Returns:
      void
    • restore

      public void restore(byte[] state, long timeToLive, TimeUnit timeUnit)
      Description copied from interface: RObject
      Restores object using its state returned by RObject.dump() method and set time to live for it.
      Specified by:
      restore in interface RObject
      Parameters:
      state - - state of object
      timeToLive - - time to live of the object
      timeUnit - - time unit
    • restoreAsync

      public RFuture<Void> restoreAsync(byte[] state, long timeToLive, TimeUnit timeUnit)
      Description copied from interface: RObjectAsync
      Restores object using its state returned by RObjectAsync.dumpAsync() method and set time to live for it.
      Specified by:
      restoreAsync in interface RObjectAsync
      Parameters:
      state - - state of object
      timeToLive - - time to live of the object
      timeUnit - - time unit
      Returns:
      void
    • restoreAndReplace

      public void restoreAndReplace(byte[] state, long timeToLive, TimeUnit timeUnit)
      Description copied from interface: RObject
      Restores and replaces object if it already exists and set time to live for it.
      Specified by:
      restoreAndReplace in interface RObject
      Parameters:
      state - - state of the object
      timeToLive - - time to live of the object
      timeUnit - - time unit
    • restoreAndReplaceAsync

      public RFuture<Void> restoreAndReplaceAsync(byte[] state, long timeToLive, TimeUnit timeUnit)
      Description copied from interface: RObjectAsync
      Restores and replaces object if it already exists and set time to live for it.
      Specified by:
      restoreAndReplaceAsync in interface RObjectAsync
      Parameters:
      state - - state of the object
      timeToLive - - time to live of the object
      timeUnit - - time unit
      Returns:
      void
    • restoreAndReplace

      public void restoreAndReplace(byte[] state)
      Description copied from interface: RObject
      Restores and replaces object if it already exists.
      Specified by:
      restoreAndReplace in interface RObject
      Parameters:
      state - - state of the object
    • restoreAndReplaceAsync

      public RFuture<Void> restoreAndReplaceAsync(byte[] state)
      Description copied from interface: RObjectAsync
      Restores and replaces object if it already exists.
      Specified by:
      restoreAndReplaceAsync in interface RObjectAsync
      Parameters:
      state - - state of the object
      Returns:
      void
    • getIdleTime

      public Long getIdleTime()
      Description copied from interface: RObject
      Returns number of seconds spent since last write or read operation over this object.
      Specified by:
      getIdleTime in interface RObject
      Returns:
      number of seconds
    • getIdleTimeAsync

      public RFuture<Long> getIdleTimeAsync()
      Description copied from interface: RObjectAsync
      Returns number of seconds spent since last write or read operation over this object.
      Specified by:
      getIdleTimeAsync in interface RObjectAsync
      Returns:
      number of seconds
    • removeListener

      protected final void removeListener(int listenerId, String... names)
    • getListenerIdsByName

      protected final Collection<Integer> getListenerIdsByName(String name)
    • getNameByListenerId

      protected final String getNameByListenerId(int listenerId)
    • removeListenerId

      protected final void removeListenerId(String name, int listenerId)
    • removeListenerAsync

      protected final RFuture<Void> removeListenerAsync(RFuture<Void> future, int listenerId, String... names)
    • addTrackingListener

      protected final int addTrackingListener(TrackingListener listener)
    • addTrackingListenerAsync

      protected final RFuture<Integer> addTrackingListenerAsync(TrackingListener listener)
    • addListener

      protected <T extends ObjectListener> int addListener(String name, T listener, BiConsumer<T,String> consumer)
    • addListenerAsync

      protected <T extends ObjectListener> RFuture<Integer> addListenerAsync(String name, T listener, BiConsumer<T,String> consumer)
    • addListenerId

      protected final void addListenerId(String name, Integer id)
    • removeListeners

      protected final void removeListeners()
    • addListener

      public int addListener(ObjectListener listener)
      Description copied from interface: RObject
      Adds object event listener
      Specified by:
      addListener in interface RObject
      Parameters:
      listener - - object event listener
      Returns:
      listener id
      See Also:
    • addListenerAsync

      public RFuture<Integer> addListenerAsync(ObjectListener listener)
      Description copied from interface: RObjectAsync
      Adds object event listener
      Specified by:
      addListenerAsync in interface RObjectAsync
      Parameters:
      listener - - object event listener
      Returns:
      listener id
      See Also:
    • removeListener

      public void removeListener(int listenerId)
      Description copied from interface: RObject
      Removes object event listener
      Specified by:
      removeListener in interface RObject
      Parameters:
      listenerId - - listener id
    • removeListenerAsync

      public RFuture<Void> removeListenerAsync(int listenerId)
      Description copied from interface: RObjectAsync
      Removes object event listener
      Specified by:
      removeListenerAsync in interface RObjectAsync
      Parameters:
      listenerId - - listener id
    • removeListenerAsync

      protected final RFuture<Void> removeListenerAsync(int listenerId, String... names)
    • removeTrackingListener

      protected final void removeTrackingListener(int listenerId)
    • removeTrackingListenerAsync

      protected final RFuture<Void> removeTrackingListenerAsync(int listenerId)
    • map

      protected final List<String> map(String[] keys)
    • getSubscribeService

      protected final PublishSubscribeService getSubscribeService()