Interface RedisClusterReactiveCommands<K,​V>

    • Method Detail

      • setTimeout

        @Deprecated
        void setTimeout​(Duration timeout)
        Deprecated.
        since 6.2. Use the corresponding StatefulConnection.setTimeout(Duration) method on the connection interface. To be removed with Lettuce 7.0.
        Set the default timeout for operations. A zero timeout value indicates to not time out.
        Parameters:
        timeout - the timeout value
        Since:
        5.0
      • asking

        Mono<String> asking()
        The asking command is required after a -ASK redirection. The client should issue ASKING before to actually send the command to the target instance. See the Redis Cluster specification for more information.
        Returns:
        String simple-string-reply
      • auth

        Mono<String> auth​(CharSequence password)
        Authenticate to the server.
        Parameters:
        password - the password
        Returns:
        String simple-string-reply
      • auth

        Mono<String> auth​(String username,
                          CharSequence password)
        Authenticate to the server with username and password. Requires Redis 6 or newer.
        Parameters:
        username - the username
        password - the password
        Returns:
        String simple-string-reply
        Since:
        6.0
      • clusterAddSlots

        Mono<String> clusterAddSlots​(int... slots)
        Adds slots to the cluster node. The current node will become the master for the specified slots.
        Parameters:
        slots - one or more slots from 0 to 16384
        Returns:
        String simple-string-reply
      • clusterBumpepoch

        Mono<String> clusterBumpepoch()
        Generate a new config epoch, incrementing the current epoch, assign the new epoch to this node, WITHOUT any consensus and persist the configuration on disk before sending packets with the new configuration.
        Returns:
        String simple-string-reply If the new config epoch is generated and assigned either BUMPED (epoch) or STILL (epoch) are returned.
      • clusterCountFailureReports

        Mono<Long> clusterCountFailureReports​(String nodeId)
        Returns the number of failure reports for the specified node. Failure reports are the way Redis Cluster uses in order to promote a PFAIL state, that means a node is not reachable, to a FAIL state, that means that the majority of masters in the cluster agreed within a window of time that the node is not reachable.
        Parameters:
        nodeId - the node id
        Returns:
        Integer reply: The number of active failure reports for the node.
      • clusterCountKeysInSlot

        Mono<Long> clusterCountKeysInSlot​(int slot)
        Returns the number of keys in the specified Redis Cluster hash slot.
        Parameters:
        slot - the slot
        Returns:
        Integer reply: The number of keys in the specified hash slot, or an error if the hash slot is invalid.
      • clusterAddSlotsRange

        Mono<String> clusterAddSlotsRange​(Range<Integer>... ranges)
        Takes a list of slot ranges (specified by start and end slots) to assign to the node.
        Parameters:
        ranges - a list of slot ranges (specified by start and end slots)
        Returns:
        String simple-string-reply
        Since:
        6.2
      • clusterDelSlots

        Mono<String> clusterDelSlots​(int... slots)
        Removes slots from the cluster node.
        Parameters:
        slots - one or more slots from 0 to 16384
        Returns:
        String simple-string-reply
      • clusterDelSlotsRange

        Mono<String> clusterDelSlotsRange​(Range<Integer>... ranges)
        Takes a list of slot ranges (specified by start and end slots) to remove to the node.
        Parameters:
        ranges - a list of slot ranges (specified by start and end slots)
        Returns:
        String simple-string-reply
        Since:
        6.2
      • clusterFailover

        Mono<String> clusterFailover​(boolean force)
        Failover a cluster node. Turns the currently connected node into a master and the master into its replica.
        Parameters:
        force - do not coordinate with master if true
        Returns:
        String simple-string-reply
      • clusterFailover

        Mono<String> clusterFailover​(boolean force,
                                     boolean takeOver)
        Failover a cluster node. Turns the currently connected node into a master and the master into its replica.
        Parameters:
        force - do not coordinate with master if true
        takeOver - do not coordinate with the rest of the cluster if true
        Returns:
        String simple-string-reply
        Since:
        6.2.3
      • clusterFlushslots

        Mono<String> clusterFlushslots()
        Delete all the slots associated with the specified node. The number of deleted slots is returned.
        Returns:
        String simple-string-reply
      • clusterForget

        Mono<String> clusterForget​(String nodeId)
        Disallow connections and remove the cluster node from the cluster.
        Parameters:
        nodeId - the node Id
        Returns:
        String simple-string-reply
      • clusterGetKeysInSlot

        Flux<K> clusterGetKeysInSlot​(int slot,
                                     int count)
        Retrieve the list of keys within the slot.
        Parameters:
        slot - the slot
        count - maximal number of keys
        Returns:
        List<K> array-reply list of keys
      • clusterInfo

        Mono<String> clusterInfo()
        Get information and statistics about the cluster viewed by the current node.
        Returns:
        String bulk-string-reply as a collection of text lines.
      • clusterKeyslot

        Mono<Long> clusterKeyslot​(K key)
        Returns an integer identifying the hash slot the specified key hashes to. This command is mainly useful for debugging and testing, since it exposes via an API the underlying Redis implementation of the hashing algorithm. Basically the same as SlotHash.getSlot(byte[]). If not, call Houston and report that we've got a problem.
        Parameters:
        key - the key.
        Returns:
        Integer reply: The hash slot number.
      • clusterMeet

        Mono<String> clusterMeet​(String ip,
                                 int port)
        Meet another cluster node to include the node into the cluster. The command starts the cluster handshake and returns with OK when the node was added to the cluster.
        Parameters:
        ip - IP address of the host
        port - port number.
        Returns:
        String simple-string-reply
      • clusterMyId

        Mono<String> clusterMyId()
        Obtain the nodeId for the currently connected node.
        Returns:
        String simple-string-reply
      • clusterReplicate

        Mono<String> clusterReplicate​(String nodeId)
        Turn this node into a replica of the node with the id nodeId.
        Parameters:
        nodeId - master node id
        Returns:
        String simple-string-reply
      • clusterReset

        Mono<String> clusterReset​(boolean hard)
        Reset a node performing a soft or hard reset:
        • All other nodes are forgotten
        • All the assigned / open slots are released
        • If the node is a replica, it turns into a master
        • Only for hard reset: a new Node ID is generated
        • Only for hard reset: currentEpoch and configEpoch are set to 0
        • The new configuration is saved and the cluster state updated
        • If the node was a replica, the whole data set is flushed away
        Parameters:
        hard - true for hard reset. Generates a new nodeId and currentEpoch/configEpoch are set to 0
        Returns:
        String simple-string-reply
      • clusterSaveconfig

        Mono<String> clusterSaveconfig()
        Forces a node to save the nodes.conf configuration on disk.
        Returns:
        String simple-string-reply: OK or an error if the operation fails.
      • clusterSetConfigEpoch

        Mono<String> clusterSetConfigEpoch​(long configEpoch)
        This command sets a specific config epoch in a fresh node. It only works when:
        • The nodes table of the node is empty.
        • The node current config epoch is zero.
        Parameters:
        configEpoch - the config epoch
        Returns:
        String simple-string-reply: OK or an error if the operation fails.
      • clusterSetSlotImporting

        Mono<String> clusterSetSlotImporting​(int slot,
                                             String nodeId)
        Flag a slot as IMPORTING (incoming) from the node specified in nodeId.
        Parameters:
        slot - the slot
        nodeId - the id of the node is the master of the slot
        Returns:
        String simple-string-reply
      • clusterSetSlotMigrating

        Mono<String> clusterSetSlotMigrating​(int slot,
                                             String nodeId)
        Flag a slot as MIGRATING (outgoing) towards the node specified in nodeId. The slot must be handled by the current node in order to be migrated.
        Parameters:
        slot - the slot
        nodeId - the id of the node is targeted to become the master for the slot
        Returns:
        String simple-string-reply
      • clusterSetSlotNode

        Mono<String> clusterSetSlotNode​(int slot,
                                        String nodeId)
        Assign a slot to a node. The command migrates the specified slot from the current node to the specified node in nodeId
        Parameters:
        slot - the slot
        nodeId - the id of the node that will become the master for the slot
        Returns:
        String simple-string-reply
      • clusterSetSlotStable

        Mono<String> clusterSetSlotStable​(int slot)
        Clears migrating / importing state from the slot.
        Parameters:
        slot - the slot
        Returns:
        String simple-string-reply
      • clusterShards

        Mono<List<Object>> clusterShards()
        Get array of cluster shards
        Returns:
        RedisFuture<List<Object>> array-reply nested list of the shards response.
        Since:
        6.2
      • clusterSlots

        Flux<Object> clusterSlots()
        Get array of cluster slots to node mappings.
        Returns:
        List<Object> array-reply nested list of slot ranges with IP/Port mappings.
      • readOnly

        Mono<String> readOnly()
        Tells a Redis cluster replica node that the client is ok reading possibly stale data and is not interested in running write queries.
        Specified by:
        readOnly in interface BaseRedisReactiveCommands<K,​V>
        Returns:
        String simple-string-reply