Interface RBucket<V>

Type Parameters:
V - - the type of object
All Superinterfaces:
RBucketAsync<V>, RExpirable, RExpirableAsync, RObject, RObjectAsync
All Known Subinterfaces:
RBinaryStream, RJsonBucket<V>
All Known Implementing Classes:
ExpireAtOperation.RedissonBucketExtended, ExpireOperation.RedissonBucketExtended, RedissonBinaryStream, RedissonBucket, RedissonJsonBucket, RedissonTransactionalBucket

public interface RBucket<V> extends RExpirable, RBucketAsync<V>
Object holder. Max size of object is 512MB
Author:
Nikita Koksharov
  • Method Details

    • size

      long size()
      Returns size of object in bytes.
      Returns:
      object size
    • get

      V get()
      Retrieves element stored in the holder.
      Returns:
      element
    • getAndDelete

      V getAndDelete()
      Retrieves element in the holder and removes it.
      Returns:
      element
    • trySet

      @Deprecated boolean trySet(V value)
      Deprecated.
      Parameters:
      value - - value to set
      Returns:
      true if successful, or false if element was already set
    • trySet

      @Deprecated boolean trySet(V value, long timeToLive, TimeUnit timeUnit)
      Deprecated.
      Parameters:
      value - - value to set
      timeToLive - - time to live interval
      timeUnit - - unit of time to live interval
      Returns:
      true if successful, or false if element was already set
    • setIfAbsent

      boolean setIfAbsent(V value)
      Sets value only if object holder doesn't exist.
      Parameters:
      value - - value to set
      Returns:
      true if successful, or false if element was already set
    • setIfAbsent

      boolean setIfAbsent(V value, Duration duration)
      Sets value with defined duration only if object holder doesn't exist.
      Parameters:
      value - value to set
      duration - expiration duration
      Returns:
      true if successful, or false if element was already set
    • setIfExists

      boolean setIfExists(V value)
      Sets value only if object holder already exists.
      Parameters:
      value - - value to set
      Returns:
      true if successful, or false if element wasn't set
    • setIfExists

      boolean setIfExists(V value, long timeToLive, TimeUnit timeUnit)
      Sets value only if object holder already exists.
      Parameters:
      value - - value to set
      timeToLive - - time to live interval
      timeUnit - - unit of time to live interval
      Returns:
      true if successful, or false if element wasn't set
    • compareAndSet

      boolean compareAndSet(V expect, V update)
      Atomically sets the value to the given updated value only if serialized state of the current value equals to serialized state of the expected value.
      Parameters:
      expect - the expected value
      update - the new value
      Returns:
      true if successful; or false if the actual value was not equal to the expected value.
    • getAndSet

      V getAndSet(V newValue)
      Retrieves current element in the holder and replaces it with newValue.
      Parameters:
      newValue - - value to set
      Returns:
      previous value
    • getAndSet

      V getAndSet(V value, long timeToLive, TimeUnit timeUnit)
      Retrieves current element in the holder and replaces it with newValue with defined timeToLive interval.
      Parameters:
      value - - value to set
      timeToLive - - time to live interval
      timeUnit - - unit of time to live interval
      Returns:
      previous value
    • getAndExpire

      V getAndExpire(Duration duration)
      Retrieves current element in the holder and sets an expiration duration for it.

      Requires Redis 6.2.0 and higher.

      Parameters:
      duration - of object time to live interval
      Returns:
      element
    • getAndExpire

      V getAndExpire(Instant time)
      Retrieves current element in the holder and sets an expiration date for it.

      Requires Redis 6.2.0 and higher.

      Parameters:
      time - of exact object expiration moment
      Returns:
      element
    • getAndClearExpire

      V getAndClearExpire()
      Retrieves current element in the holder and clears expiration date set before.

      Requires Redis 6.2.0 and higher.

      Returns:
      element
    • set

      void set(V value)
      Stores element into the holder.
      Parameters:
      value - - value to set
    • set

      void set(V value, long timeToLive, TimeUnit timeUnit)
      Stores element into the holder with defined timeToLive interval.
      Parameters:
      value - - value to set
      timeToLive - - time to live interval
      timeUnit - - unit of time to live interval
    • setAndKeepTTL

      void setAndKeepTTL(V value)
      Set value and keep existing TTL.

      Requires Redis 6.0.0 and higher.

      Parameters:
      value - - value to set
    • addListener

      int addListener(ObjectListener listener)
      Adds object event listener
      Specified by:
      addListener in interface RObject
      Parameters:
      listener - - object event listener
      Returns:
      listener id
      See Also: