diff options
author | Chayim <chayim@users.noreply.github.com> | 2021-12-09 09:49:35 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-12-09 09:49:35 +0200 |
commit | 12c17bfc436ea6784bbc8b2d327d981520858eb7 (patch) | |
tree | 40cb053e6a10bffe70f528132265225c969b4467 | |
parent | a58f4235e554cb50b312caf1a9076114c77d0529 (diff) | |
download | redis-py-12c17bfc436ea6784bbc8b2d327d981520858eb7.tar.gz |
Adding cluster, bloom, and graph docs (#1779)v4.1.0rc2
-rw-r--r-- | docs/index.rst | 20 | ||||
-rw-r--r-- | docs/redis_cluster_commands.rst | 7 | ||||
-rw-r--r-- | docs/redis_commands.rst (renamed from docs/redis_core_commands.rst) | 6 | ||||
-rw-r--r-- | docs/redismodules.rst | 123 | ||||
-rw-r--r-- | redis/commands/bf/commands.py | 6 | ||||
-rw-r--r-- | redis/commands/graph/commands.py | 2 |
6 files changed, 152 insertions, 12 deletions
diff --git a/docs/index.rst b/docs/index.rst index 8e243f3..d088708 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -16,21 +16,30 @@ redis-py can be installed using pip via ``pip install redis``. Quickly connecting to redis -************ +*************************** There are two quick ways to connect to Redis. -Assuming you run Redis on localhost:6379 (the default):: +**Assuming you run Redis on localhost:6379 (the default)** + +.. code-block:: python + import redis r = redis.Redis() r.ping() -Running redis on foo.bar.com, port 12345:: +**Running redis on foo.bar.com, port 12345** + +.. code-block:: python + import redis r = redis.Redis(host='foo.bar.com', port=12345) r.ping() -Another example with foo.bar.com, port 12345:: +**Another example with foo.bar.com, port 12345** + +.. code-block:: python + import redis r = redis.from_url('redis://foo.bar.com:12345') r.ping() @@ -47,7 +56,8 @@ Redis Command Functions .. toctree:: :maxdepth: 2 - redis_core_commands + redis_commands + redis_cluster_commands sentinel_commands redismodules diff --git a/docs/redis_cluster_commands.rst b/docs/redis_cluster_commands.rst new file mode 100644 index 0000000..de520de --- /dev/null +++ b/docs/redis_cluster_commands.rst @@ -0,0 +1,7 @@ +Redis Cluster Commands +###################### + +The following `Redis commands <https://redis.io/commands>`_ are available within a `Redis Cluster <https://redis.io/topics/cluster-tutorial>`_. Generally they can be used as functions on your redis connection. + +.. autoclass:: redis.commands.cluster.RedisClusterCommands + :inherited-members: diff --git a/docs/redis_core_commands.rst b/docs/redis_commands.rst index edfd7fe..efb76e7 100644 --- a/docs/redis_core_commands.rst +++ b/docs/redis_commands.rst @@ -1,5 +1,5 @@ -Redis Core Commands -#################### +Redis Commands +############### The following functions can be used to replicate their equivalent `Redis command <https://redis.io/commands>`_. Generally they can be used as functions on your redis connection. For the simplest example, see below: @@ -11,4 +11,4 @@ Getting and settings data in redis:: r.get('mykey') .. autoclass:: redis.commands.core.CoreCommands - :members:
\ No newline at end of file + :inherited-members: diff --git a/docs/redismodules.rst b/docs/redismodules.rst index da8c36b..0cb8c49 100644 --- a/docs/redismodules.rst +++ b/docs/redismodules.rst @@ -5,15 +5,132 @@ Accessing redis module commands requires the installation of the supported `Redi RedisTimeSeries Commands ************************ + +These are the commands for interacting with the `RedisTimeSeries module <https://redistimeseries.io>`_. Below is a brief example, as well as documentation on the commands themselves. + + +**Create a timeseries object with 5 second retention** + +.. code-block:: python + + import redis + r = redis.Redis() + r.timeseries().create(2, retension_msecs=5) + .. automodule:: redis.commands.timeseries.commands - :members: TimeSeriesCommands + :members: TimeSeriesCommands + +----- RedisJSON Commands ****************** + +These are the commands for interacting with the `RedisJSON module <https://redisjson.io>`_. Below is a brief example, as well as documentation on the commands themselves. + +**Create a json object** + +.. code-block:: python + + import redis + r = redis.Redis() + r.json().set("mykey", ".", {"hello": "world", "i am": ["a", "json", "object!"]} + + .. automodule:: redis.commands.json.commands - :members: JSONCommands + :members: JSONCommands + +----- RediSearch Commands ******************* + +These are the commands for interacting with the `RediSearch module <https://redisjson.io>`_. Below is a brief example, as well as documentation on the commands themselves. + +**Create a search index, and display its information** + +.. code-block:: python + + import redis + r = redis.Redis() + r.ft().create_index(TextField("play", weight=5.0), TextField("ball")) + print(r.ft().info()) + + .. automodule:: redis.commands.search.commands - :members: SearchCommands
\ No newline at end of file + :members: SearchCommands + +----- + +RedisGraph Commands +******************* + +These are the commands for interacting with the `RedisGraph module <https://redisjson.io>`_. Below is a brief example, as well as documentation on the commands themselves. + +**Create a graph, adding two nodes** + +.. code-block:: python + + import redis + from redis.graph.node import Node + + john = Node(label="person", properties={"name": "John Doe", "age": 33} + jane = Node(label="person", properties={"name": "Jane Doe", "age": 34} + + r = redis.Redis() + graph = r.graph() + graph.add_node(john) + graph.add_node(jane) + graph.add_node(pat) + graph.commit() + +.. automodule:: redis.commands.graph.node + :members: Node + +.. automodule:: redis.commands.graph.edge + :members: Edge + +.. automodule:: redis.commands.graph.commands + :members: GraphCommands + +----- + +RedisBloom Commands +******************* + +These are the commands for interacting with the `RedisBloom module <https://redisjson.io>`_. Below is a brief example, as well as documentation on the commands themselves. + +**Create and add to a bloom filter** + +.. code-block:: python + + import redis + filter = redis.bf().create("bloom", 0.01, 1000) + filter.add("bloom", "foo") + +**Create and add to a cuckoo filter** + +.. code-block:: python + + import redis + filter = redis.cf().create("cuckoo", 1000) + filter.add("cuckoo", "filter") + +**Create Count-Min Sketch and get information** + +.. code-block:: python + + import redis + r = redis.cms().initbydim("dim", 1000, 5) + r.cms().incrby("dim", ["foo"], [5]) + r.cms().info("dim") + +**Create a topk list, and access the results** + +.. code-block:: python + + import redis + r = redis.topk().reserve("mytopk", 3, 50, 4, 0.9) + info = r.topk().info("mytopk) + +.. automodule:: redis.commands.bf.commands + :members: BFCommands, CFCommands, CMSCommands, TOPKCommands diff --git a/redis/commands/bf/commands.py b/redis/commands/bf/commands.py index 3c8bf7f..7fc507d 100644 --- a/redis/commands/bf/commands.py +++ b/redis/commands/bf/commands.py @@ -51,7 +51,7 @@ TDIGEST_INFO = "TDIGEST.INFO" class BFCommands: - """RedisBloom commands.""" + """Bloom Filter commands.""" # region Bloom Filter Functions def create(self, key, errorRate, capacity, expansion=None, noScale=None): @@ -166,6 +166,7 @@ class BFCommands: class CFCommands: + """Cuckoo Filter commands.""" # region Cuckoo Filter Functions def create( @@ -283,6 +284,8 @@ class CFCommands: class TOPKCommands: + """TOP-k Filter commands.""" + def reserve(self, key, k, width, depth, decay): """ Create a new Top-K Filter `key` with desired probability of false @@ -432,6 +435,7 @@ class TDigestCommands: class CMSCommands: + """Count-Min Sketch Commands""" # region Count-Min Sketch Functions def initbydim(self, key, width, depth): diff --git a/redis/commands/graph/commands.py b/redis/commands/graph/commands.py index f0c1d68..e097936 100644 --- a/redis/commands/graph/commands.py +++ b/redis/commands/graph/commands.py @@ -6,6 +6,8 @@ from .query_result import QueryResult class GraphCommands: + """RedisGraph Commands""" + def commit(self): """ Create entire graph. |