diff --git a/.github/wordlist.txt b/.github/wordlist.txt index e30a268..ce4926e 100644 --- a/.github/wordlist.txt +++ b/.github/wordlist.txt @@ -55,3 +55,4 @@ utf validator validators virtualenv +http diff --git a/README.md b/README.md index 01c4cce..fe643fc 100644 --- a/README.md +++ b/README.md @@ -30,13 +30,14 @@ span - [💡 Why Redis OM?](#-why-redis-om) +- [💻 Installation](#-installation) +- [🏁 Getting started](#-getting-started) - [📇 Modeling Your Data](#-modeling-your-data) - [✓ Validating Data With Your Model](#-validating-data-with-your-model) - [🔎 Rich Queries and Embedded Models](#-rich-queries-and-embedded-models) - [Querying](#querying) - [Embedded Models](#embedded-models) - [Calling Other Redis Commands](#calling-other-redis-commands) -- [💻 Installation](#-installation) - [📚 Documentation](#-documentation) - [⛏️ Troubleshooting](#️-troubleshooting) - [✨ So How Do You Get RediSearch and RedisJSON?](#-so-how-do-you-get-redisearch-and-redisjson) @@ -57,6 +58,31 @@ This **preview** release contains the following features: * Declarative secondary-index generation * Fluent APIs for querying Redis +## 💻 Installation + +Installation is simple with `pip`, Poetry, or Pipenv. + +```sh +# With pip +$ pip install redis-om + +# Or, using Poetry +$ poetry add redis-om +``` + +## 🏁 Getting started + +### Starting Redis + +Before writing any code you'll need a Redis instance with the appropriate Redis modules! The quickest way to get this is with Docker: + +```sh +docker run -p 6379:6379 -p 8001:8001 redis/redis-stack +``` + +This launches the [redis-stack](https://redis.io/docs/stack/) an extension of Redis that adds all manner of modern data structures to Redis. You'll also notice that if you open up http://localhost:8001 you'll have access to the redis-insight GUI, a GUI you can use to visualize and work with your data in Redis. + + ## 📇 Modeling Your Data Redis OM contains powerful declarative models that give you data validation, serialization, and persistence to Redis. @@ -204,7 +230,7 @@ from redis_om import ( Migrator ) - + class Customer(HashModel): first_name: str last_name: str = Field(index=True) @@ -228,7 +254,7 @@ Customer.find(Customer.last_name == "Brookins").all() # Find all customers that do NOT have the last name "Brookins" Customer.find(Customer.last_name != "Brookins").all() -# Find all customers whose last name is "Brookins" OR whose age is +# Find all customers whose last name is "Brookins" OR whose age is # 100 AND whose last name is "Smith" Customer.find((Customer.last_name == "Brookins") | ( Customer.age == 100 @@ -281,7 +307,7 @@ class Customer(JsonModel): address: Address -# With these two models and a Redis deployment with the RedisJSON +# With these two models and a Redis deployment with the RedisJSON # module installed, we can run queries like the following. # Before running queries, we need to run migrations to set up the @@ -326,18 +352,6 @@ redis_conn = get_redis_connection() redis_conn.set("hello", "world") ``` -## 💻 Installation - -Installation is simple with `pip`, Poetry, or Pipenv. - -```sh -# With pip -$ pip install redis-om - -# Or, using Poetry -$ poetry add redis-om -``` - ## 📚 Documentation The Redis OM documentation is available [here](docs/index.md).