RedPipe: Pain-Free Pipelining¶
Did you try to use Redis pipelines? Did you get a pounding headache? Did you throw your laptop in frustration? Never fear. RedPipe will make you feel better almost immediately. If you have no idea what Redis is or why you should pipeline commands, look it up already.
What is RedPipe?¶
RedPipe is a wrapper around the pipeline component of redis-py. It makes it easy to reduce network round trips when talking to Redis. The interface is very similar to redis-py. Pipelined commands work almost like non-pipelined commands.
For more general information about redis pipelining, see the official redis documentation.
Use RedPipe to build pipelined redis calls in a modular reusable way. Rewrite your existing application calls via redis-py into efficient batches with only minimal changes.
How Does it Work?¶
RedPipe makes pipeline commands work almost like non-pipelined commands in redis-py. You may have used pipelines before in a few spots as a last-minute performance optimization. Redpipe operates with a different paradigm. It assumes every call will be pipelined. And it gives you the tools to do it.
Some concepts sound complicated:
This documentation will explain all of these concepts and why they are important. All of these things together allow you to build modular functions that can be combined with other pipelined functions. You will be able to pass a pipeline into multiple functions, collect the results from each function, and then execute the pipeline to hydrate those result objects with data.
What do I Need to Know to Start?¶
If you’ve used redis-py, you know most of what you need already to start using RedPipe.
If not, head over there and play with redis-py first. Or check out this very easy tutorial on redis-py basics:
http://agiliq.com/blog/2015/03/getting-started-with-redis-py/
You’ll find the redpipe api looks nearly identical. That’s because RedPipe is a wrapper around redis-py.
RedPipe adds the ability to pipeline commands in a more natural way.
What Else Can it do?¶
You can use just the core of the RedPipe. Wrap your existing redis-py commands with RedPipe and profit. But the library unlocks a few other cool things too:
- Keyspaces allow you to work more easily with collections of Redis keys.
- Structs give you an object-oriented interface to working with Redis hashes.
Both components will make it easier to manipulate data in your application. And they are optimized for maximum network efficiency. You can pipeline Keyspaces and Structs just like you can with the core of RedPipe.
User Documentation¶
This part of the documentation explains why you need RedPipe. Then it focuses on step-by-step instructions for getting the most out of RedPipe.
Community Documentation¶
This part of the documentation explains the RedPipe ecosystem.
- Testing
- Benchmarking
- Inspiration
- Disclaimers
- Contributing
- Release Notes
- 4.0.1 (December 28, 2022)
- 4.0.0 (December 27, 2022)
- 3.0.1 (December 26, 2022)
- 3.0.0 (December 26, 2022)
- 2.3.6 (October 30, 2019)
- 2.3.5 (July 3, 2019)
- 2.3.4 (June 24, 2019)
- 2.3.3 (June 21, 2019)
- 2.3.2 (June 19, 2019)
- 2.3.1 (Nov 29, 2018)
- 2.3.0 (Nov 28, 2018)
- 2.2.0 (Aug 14, 2018)
- 2.1.2 (July 17, 2018)
- 2.1.1 (July 13, 2018)
- 2.1.0 (July 11, 2018)
- 2.0.2 (May 23, 2018)
- 2.0.1 (March 15, 2018)
- 2.0.0 (March 8, 2018)
- 1.0.4 (September 28, 2017)
- 1.0.3 (August 10, 2017)
- 1.0.2 (June 23, 2017)
- 1.0.1 (May 29, 2017
- 1.0.0 (May 11, 2017
- 1.0.0rc3 (May 10, 2017)
- 1.0.0rc2 (May 9, 2017)
- 1.0.0rc1 (May 7, 2017)
- 0.5.0 (May 5, 2017)
- 0.4.0 (May 4, 2017)
- 0.3.2 (May 3, 2017)
- 0.3.1 (May 2, 2017)
- 0.3.0 (April 30, 2017)
- 0.2.5 (April 30, 2017)
- 0.2.4 (April 28, 2017)
- 0.2.3 (April 27, 2017)
- 0.2.2 (April 26, 2017)
- 0.2.1 (April 24, 2017)
- 0.2.0 (April 24, 2017)
- 0.1.1 (April 23, 2017)
- 0.1.0 (April 21, 2017)
- Old Releases
- Project Authors
API Documentation¶
This part of the documentation provides detailed API documentation. Dig into the source code and see how everything ties together. This is what is great about open-source projects. You can see everything.
- redpipe package
- Module Structure
- Connections
- Fields
- Keyspaces
- Exceptions
- Misc
- Submodules
- redpipe.connections module
- redpipe.exceptions module
- redpipe.fields module
- redpipe.futures module
- redpipe.keyspaces module
- redpipe.luascripts module
- redpipe.pipelines module
- redpipe.structs module
- redpipe.tasks module
- redpipe.version module