Redis Stack for Application Modernization Build Real-Time Multi-model Applications at Any Scale with Redis
Discover the multi-model capabilities of Redis Stack as a document store and vector database, with support for time series, stream processing, probabilistic data structures, and more Key Features Model, index, and search data using JSON and vector data types Modernize your applications with vector s...
Otros Autores: | , |
---|---|
Formato: | Libro electrónico |
Idioma: | Inglés |
Publicado: |
Birmingham, England :
Packt Publishing Ltd
[2023]
|
Edición: | First edition |
Materias: | |
Ver en Biblioteca Universitat Ramon Llull: | https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009790333006719 |
Tabla de Contenidos:
- 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
- Auto-completion
- Phonetic matching
- Working with JSON
- The JSONPath syntax
- Indexing a JSON document
- Indexing arrays and objects
- Multi-value indexing
- Extracting partial data from JSON documents
- Redis Stack as a recommendation engine
- Recommendation using scores
- Redis Stack as a session store
- Redis data structures for session data
- Additional Redis data structures
- Modeling key-value pairs
- Modeling objects
- Modeling collections
- Session management for real-time applications
- Summary
- Chapter 6: Redis Stack as a Vector Database
- Technical requirements
- Vector embeddings for unstructured data modeling
- Storing the embeddings
- Hashes
- JSON
- Indexing the embeddings
- The algorithms - FLAT and HNSW
- Type
- Index dimension.
- Distance metrics
- Performing similarity search
- Performing hybrid queries
- Performing VSS range queries
- Recommendations based on visual search
- Integrating Redis with generative AI
- Summary
- Chapter 7: Redis Stack as a Time Series Database
- Technical requirements
- Why Redis Stack for Time Series?
- Working with time series
- Adding labels to data points
- Aggregation framework
- Compaction rules for Time Series
- Summary
- Chapter 8: Understanding Probabilistic Data Structures
- Technical requirements
- HyperLogLog
- Bloom filter
- Cuckoo filters
- Count-Min sketch
- Top-K
- t-digest
- Summary
- Part 3: From Development to Production
- Chapter 9: The Programmability of Redis Stack
- Technical requirements
- The single-threaded architecture
- Programming complex business logic with Redis Stack
- Lua scripting
- Redis functions
- Triggers and functions
- Anatomy of a function
- Working with data
- Batch processing
- Asynchronous functions
- Cluster awareness
- Keyspace triggers
- Stream triggers
- Comparing Lua scripts, Lua functions, and JavaScript functions
- Summary
- Chapter 10: RedisInsight - the Data Management GUI
- Technical requirements
- Connecting to the Redis Stack database
- Browsing keys
- Interacting with data
- Analyzing data
- Troubleshooting PubSub channels
- Summary
- Chapter 11: Using Redis Stack as a Primary Database
- Technical requirements
- What is a primary database?
- Redis as a primary database
- The BASE and ACID properties
- The BASE properties
- The ACID properties
- Configuring Redis for durability, consistency, and availability
- Configuring snapshots
- Configuring AOF
- Configuring high availability
- Configuring consistency
- Summary
- Chapter 12: Managing Development and Production Environments
- Technical requirements.
- Redis Stack as a development environment
- HA
- Scalability
- Security
- Limitations
- Preparing for production with Redis Enterprise
- Redis Enterprise architecture
- A multi-tenancy architecture
- HA
- Horizontal and vertical scalability and dynamic auto-tiering
- Security hardening
- Observability and monitoring
- Redis Cloud - an enterprise-ready Redis DBaaS
- Summary
- Index
- About PACKT
- Other Books You May Enjoy.