Interface CuckooCommands<K,​V>

  • Type Parameters:
    K - the type of the key
    V - the type of the value stored in the filter
    All Superinterfaces:
    RedisCommands
    All Known Implementing Classes:
    BlockingCuckooCommandsImpl

    public interface CuckooCommands<K,​V>
    extends RedisCommands
    Allows executing commands from the cuckoo group. These commands require the Redis Bloom module (this modules also include Cuckoo filters) to be installed in the Redis server.

    See the cuckoo command list for further information about these commands.

    • Method Detail

      • cfadd

        void cfadd​(K key,
                   V value)
        Execute the command CF.ADD. Summary: Adds the specified element to the specified Cuckoo filter. Group: cuckoo

        If the cuckoo filter does not exist, it creates a new one.

        Parameters:
        key - the key
        value - the value, must not be null
      • cfaddnx

        boolean cfaddnx​(K key,
                        V value)
        Execute the command CF.ADDNX. Summary: Adds an item to a cuckoo filter if the item did not exist previously. Group: cuckoo

        If the cuckoo filter does not exist, it creates a new one.

        Parameters:
        key - the key
        value - the value, must not be null
        Returns:
        true if the value was added to the filter, false otherwise
      • cfcount

        long cfcount​(K key,
                     V value)
        Execute the command CF.COUNT. Summary: Returns the number of times an item may be in the filter. Because this is a probabilistic data structure, this may not necessarily be accurate. Group: cuckoo

        Parameters:
        key - the key
        value - the value, must not be null
        Returns:
        a Uni producing the count of possible matching copies of the value in the filter
      • cfdel

        boolean cfdel​(K key,
                      V value)
        Execute the command CF.DEL. Summary: Deletes an item once from the filter. If the item exists only once, it will be removed from the filter. If the item was added multiple times, it will still be present. Group: cuckoo

        Parameters:
        key - the key
        value - the value, must not be null
        Returns:
        a Uni producing true if the value was removed from the filter, false otherwise (the value was not found in the filter)
      • cfexists

        boolean cfexists​(K key,
                         V value)
        Execute the command CF.EXISTS. Summary: Check if an item exists in a Cuckoo filter Group: cuckoo

        Parameters:
        key - the key
        value - the value, must not be null
        Returns:
        a Uni producing true if the value was found in the filter, false otherwise.
      • cfinsert

        void cfinsert​(K key,
                      V... values)
        Execute the command CF.INSERT. Summary: Adds one or more items to a cuckoo filter, allowing the filter to be created with a custom capacity if it does not exist yet. Group: cuckoo

        Parameters:
        key - the key
        values - the values, must not be null, must not be empty, must not contain null
      • cfinsert

        void cfinsert​(K key,
                      CfInsertArgs args,
                      V... values)
        Execute the command CF.INSERT. Summary: Adds one or more items to a cuckoo filter, allowing the filter to be created with a custom capacity if it does not exist yet. Group: cuckoo

        Parameters:
        key - the key
        args - the extra arguments
        values - the values, must not be null, must not be empty, must not contain null
      • cfinsertnx

        List<Boolean> cfinsertnx​(K key,
                                 V... values)
        Execute the command CF.INSERTNX. Summary: Adds one or more items to a cuckoo filter, allowing the filter to be created with a custom capacity if it does not exist yet. Group: cuckoo

        Parameters:
        key - the key
        values - the values, must not be null, must not be empty, must not contain null
        Returns:
        a list of boolean. For each added value, the corresponding boolean is true if the value has been added (non-existing) or false if the value was already present in the filter.
      • cfinsertnx

        List<Boolean> cfinsertnx​(K key,
                                 CfInsertArgs args,
                                 V... values)
        Execute the command CF.INSERTNX. Summary: Adds one or more items to a cuckoo filter, allowing the filter to be created with a custom capacity if it does not exist yet. Group: cuckoo

        Parameters:
        key - the key
        args - the extra arguments
        values - the values, must not be null, must not be empty, must not contain null
        Returns:
        a list of boolean. For each added value, the corresponding boolean is true if the value has been added (non-existing) or false if the value was already present in the filter.
      • cfmexists

        List<Boolean> cfmexists​(K key,
                                V... values)
        Execute the command CF.MEXISTS. Summary: Check if an item exists in a Cuckoo filter Group: cuckoo

        Parameters:
        key - the key
        values - the values, must not be null, must not contain null, must not be empty
        Returns:
        a list of boolean indicating, for each corresponding value, if the value exists in the filter or not.
      • cfreserve

        void cfreserve​(K key,
                       long capacity)
        Execute the command CF.RESERVE. Summary: Create a Cuckoo Filter as key with a single sub-filter for the initial amount of capacity for items. Group: cuckoo

        Parameters:
        key - the key
        capacity - the capacity
      • cfreserve

        void cfreserve​(K key,
                       long capacity,
                       CfReserveArgs args)
        Execute the command CF.RESERVE. Summary: Create a Cuckoo Filter as key with a single sub-filter for the initial amount of capacity for items. Group: cuckoo

        Parameters:
        key - the key
        capacity - the capacity
        args - the extra parameters