Cover
Title Page
Copyright
Dedication
Contributors
Table of Contents
Preface
Part 1: Introduction to Redis Stack
Chapter 1: Introducing Redis Stack
Technical requirements
Exploring the history of Redis
The open source project
From key-value to multi-model real-time databases
Primary key lookup
Secondary key lookup
Pipelining
Using functions
Using indexes
Redis Stack capabilities
So, what is Redis Stack?
Redis Stack deployment types
Summary
Chapter 2: Developing Modern Use Cases with Redis Stack
Technical requirements
Caching, rate-limiting, geo-positioning, and other Redis traditional use cases
Caching
Session store
Rate limiter
Leaderboards
Data deduplication
Geo-positioning
Message processing and delivery
Going beyond the real-time cache with Redis Stack
Querying, indexing, and search
Monitoring and analysis
Fraud detection
Feature store for machine learning
Designing microservice architectures with Redis Stack
API gateway
Summary
Chapter 3: Getting Started with Redis Stack
Installing Redis Stack using binary packages
Installing Redis Stack using native packages
macOS-native package
Linux-native package
Running Redis Stack using Docker
Using Redis Cloud
Installing RedisInsight
Installing the Redis Stack client libraries
Java client library
JavaScript client library
Python client library
Golang client library
C#/.NET client library
Running health checks
Summary
Chapter 4: Setting Up Client Libraries
Technical requirements
Redis Stack client libraries
Programming in Python using redis-py
Storing information in Redis Stack using Python
Redis OM for Python
Programming in Java using Jedis
Storing information in Redis Stack using Java
Redis OM for Java
Programming in JavaScript using node-redis
Redis OM for JavaScript
Programming in Go using go-redis
Storing information in Redis Stack using Go
Programming in C#/.NET using NRedisStack
Storing information in Redis Stack using C#/.NET
Redis OM for C#/.NET
Summary
Part 2: Data Modeling
Chapter 5: Redis Stack as a Document Store
Technical requirements
Storing and querying documents in Redis Stack
The dialect and other configuration parameters
The query language
Simple terms
Using field modifiers
Intersection of results (AND)
Union of results (OR)
Exact query matches
Stop words
Negation and purely negative queries
Prefix, infix, and suffix queries
Wildcard matching
Fuzzy matching
Numeric filters
Tag filters
Geospatial filters
Aggregation and transformation
Cursor-based requests
Faceted search using aggregations
Updating an index in production
Temporary indexes
Additional commands
Working with Hashes
Highlighting and summarizing
Synonyms support
Spellchecking