Skip to content

Commit

Permalink
Adding cluster, bloom, and graph docs (#1779)
Browse files Browse the repository at this point in the history
  • Loading branch information
chayim authored Dec 9, 2021
1 parent a58f423 commit 12c17bf
Show file tree
Hide file tree
Showing 6 changed files with 152 additions and 12 deletions.
20 changes: 15 additions & 5 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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()
Expand All @@ -47,7 +56,8 @@ Redis Command Functions
.. toctree::
:maxdepth: 2

redis_core_commands
redis_commands
redis_cluster_commands
sentinel_commands
redismodules

Expand Down
7 changes: 7 additions & 0 deletions docs/redis_cluster_commands.rst
Original file line number Diff line number Diff line change
@@ -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:
6 changes: 3 additions & 3 deletions docs/redis_core_commands.rst → docs/redis_commands.rst
Original file line number Diff line number Diff line change
@@ -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:

Expand All @@ -11,4 +11,4 @@ Getting and settings data in redis::
r.get('mykey')

.. autoclass:: redis.commands.core.CoreCommands
:members:
:inherited-members:
123 changes: 120 additions & 3 deletions docs/redismodules.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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
: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
6 changes: 5 additions & 1 deletion redis/commands/bf/commands.py
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@


class BFCommands:
"""RedisBloom commands."""
"""Bloom Filter commands."""

# region Bloom Filter Functions
def create(self, key, errorRate, capacity, expansion=None, noScale=None):
Expand Down Expand Up @@ -166,6 +166,7 @@ def info(self, key):


class CFCommands:
"""Cuckoo Filter commands."""

# region Cuckoo Filter Functions
def create(
Expand Down Expand Up @@ -283,6 +284,8 @@ def info(self, key):


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
Expand Down Expand Up @@ -432,6 +435,7 @@ def info(self, key):


class CMSCommands:
"""Count-Min Sketch Commands"""

# region Count-Min Sketch Functions
def initbydim(self, key, width, depth):
Expand Down
2 changes: 2 additions & 0 deletions redis/commands/graph/commands.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@


class GraphCommands:
"""RedisGraph Commands"""

def commit(self):
"""
Create entire graph.
Expand Down

0 comments on commit 12c17bf

Please sign in to comment.