Synchronous Patterns
Starting with version 2.1, Glide introduces a new synchronous Python client, alongside the existing default asynchronous client. Currently the sync client does not yet support the following features:
- Pub/Sub
- Cluster scan
- Configuring an In-flight request limit
- OpenTelemetry integration
Support for these features is on our roadmap and they are planned to be added in the next releases.
Using the Synchronous Client
Section titled “Using the Synchronous Client”The synchronous client is located under the glide_sync module. It’s API is similar to the asynchronous client making it interchangable in most cases with the exception of not having to use the await keyword.
Example: Standalone Connection
Section titled “Example: Standalone Connection”from glide_sync import ( GlideClient, GlideClientConfiguration, NodeAddress, BatchOptions, Batch)
addresses = [ NodeAddress(host="primary.example.com", port=6379), NodeAddress(host="replica1.example.com", port=6379), NodeAddress(host="replica2.example.com", port=6379) ]client_config = GlideClientConfiguration(addresses)
client = GlideClient.create(client_config)
# Configure batch optionsoptions = BatchOptions(timeout=2000) # 2-second timeout
pipeline = Batch()pipeline.set("key1", "value1")
results = client.exec(pipeline, options=options)print("Pipeline Results:", results)from glide import ( GlideClient, GlideClientConfiguration, NodeAddress, BatchOptions, Batch)
addresses = [ NodeAddress(host="primary.example.com", port=6379), NodeAddress(host="replica1.example.com", port=6379), NodeAddress(host="replica2.example.com", port=6379) ]client_config = GlideClientConfiguration(addresses)
client = await GlideClient.create(client_config)
# Configure batch optionsoptions = BatchOptions(timeout=2000) # 2-second timeout
pipeline = Batch()pipeline.set("key1", "value1")
results = await client.exec(pipeline, options=options)print("Pipeline Results:", results)