Bases: BaseClient, ClusterCommands
Client used for connection to cluster servers.
Use :func:~BaseClient.create to request a client.
For full documentation, see
Valkey GLIDE Wiki
Source code in doc-gen/valkey-glide/python/glide-async/python/glide/glide_client.py
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809 | class GlideClusterClient(BaseClient, ClusterCommands):
"""
Client used for connection to cluster servers.
Use :func:`~BaseClient.create` to request a client.
For full documentation, see
[Valkey GLIDE Wiki](https://github.com/valkey-io/valkey-glide/wiki/Python-wrapper#cluster)
"""
async def _cluster_scan(
self,
cursor: ClusterScanCursor,
match: Optional[TEncodable] = None,
count: Optional[int] = None,
type: Optional[ObjectType] = None,
allow_non_covered_slots: bool = False,
) -> List[Union[ClusterScanCursor, List[bytes]]]:
if self._is_closed:
raise ClosingError(
"Unable to execute requests; the client is closed. Please create a new client."
)
request = CommandRequest()
request.callback_idx = self._get_callback_index()
# Take out the id string from the wrapping object
cursor_string = cursor.get_cursor()
request.cluster_scan.cursor = cursor_string
request.cluster_scan.allow_non_covered_slots = allow_non_covered_slots
if match is not None:
request.cluster_scan.match_pattern = (
self._encode_arg(match) if isinstance(match, str) else match
)
if count is not None:
request.cluster_scan.count = count
if type is not None:
request.cluster_scan.object_type = type.value
response = await self._write_request_await_response(request)
return [ClusterScanCursor(bytes(response[0]).decode()), response[1]]
def _get_protobuf_conn_request(self) -> ConnectionRequest:
return self.config._create_a_protobuf_conn_request(cluster_mode=True)
|