PageSourceSearch

https://redis-developer.github.io/assets/js/935f2afb.2e0d4441.js

js redis-developer.github.io collected 2026-10-03 09:50:05 UTC 125,330 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkredis_developer_hub=self.webpackChunkredis_developer_hub||[]).push([[53],{1109:e=>{e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"docs":[{"type":"link","label":"Home","href":"/"},{"type":"link","label":"Getting Started","href":"/howtos/quick-start","docId":"howtos/quick-start/index-quick-start"},{"type":"category","label":"Create","items":[{"type":"link","label":"Overview - All Quick Starts","href":"/create","docId":"create/index-create"},{"type":"link","label":"Redis Functions","href":"/create/redis-functions","docId":"create/redis-functions/index-redis-functions"},{"type":"category","label":"Redis on Azure Cache","items":[{"type":"link","label":"Overview","href":"/create/azure","docId":"create/azure/index-azure"},{"type":"link","label":"Redis on Azure Cache","href":"/create/azure/portal","docId":"create/azure/portal/index-azure-portal"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Redis on AWS","items":[{"type":"link","label":"Overview","href":"/create/aws","docId":"create/aws/index-aws"},{"type":"link","label":"Redis on AWS","href":"/create/aws/redis-on-aws","docId":"create/aws/redis-on-aws/index-redis-on-aws"},{"type":"link","label":"Building a Slack Bot using AWS S3 and Redis Search and Query Engine","href":"/create/aws/slackbot","docId":"create/aws/slackbot/index-slackbot"},{"type":"link","label":"Deploy and Manage Redis Database on AWS using Terraform","href":"/create/aws/terraform","docId":"create/aws/terraform/index-terraform"},{"type":"link","label":"Building a Real-Time Bidding Platform using NodeJS, AWS Lambda and Redis","href":"/create/aws/bidding-on-aws","docId":"create/aws/bidding-on-aws/index-bidding-on-aws"},{"type":"link","label":"Online Data Migration from AWS Elasticache to Redis","href":"/create/aws/import/database-migration-aws-elasticache-redis-enterprise-cloud/","docId":"create/aws/import/index-database-migration-aws-elasticache-redis-enterprise-cloud"},{"type":"link","label":"Building a Real-Time Chat application on AWS using Python and Redis","href":"/create/aws/chatapp","docId":"create/aws/chatapp/index-chatapp"},{"type":"link","label":"Building an Analytics Dashboard using NodeJS, Redis and AWS","href":"/create/aws/analytics-using-aws","docId":"create/aws/analytics-using-aws/index-analytics-using-aws"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Redis on Docker","items":[{"type":"link","label":"Overview","href":"/create/docker/","docId":"create/docker/index-docker"},{"type":"link","label":"Node.js, Nginx, Redis and Docker","href":"/create/docker/nodejs-nginx-redis","docId":"create/docker/nodejs-nginx-redis/index-nodejs-nginx-redis"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Redis on Kubernetes","items":[{"type":"link","label":"Overview","href":"/create/kubernetes/","docId":"create/kubernetes/index-kubernetes"}],"collapsed":true,"collapsible":true},{"type":"link","label":"Redis on Windows","href":"/create/windows","docId":"create/windows/index-windows"},{"type":"link","label":"Redis using Jenkins","href":"/create/jenkins","docId":"create/jenkins/index-jenkins"},{"type":"category","label":"Redis using Azure Functions","items":[{"type":"link","label":"Getting Started with Azure Functions and Redis","href":"/create/azurefunctions","docId":"create/azurefunctions/index-azurefunctions"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Develop","items":[{"type":"link","label":"Overview","href":"/develop","docId":"develop/index-develop"},{"type":"category","label":"Java","items":[{"type":"link","label":"Overview","href":"/develop/java","docId":"develop/java/index-java"},{"type":"category","label":"Spring","items":[{"type":"link","label":"Overview","href":"/develop/java/spring","docId":"develop/java/spring/index-spring"},{"type":"category","label":"Redis OM Tutorial","items":[{"type":"link","label":"Introduction","href":"/develop/java/spring/redis-om/redis-om-spring","docId":"develop/java/spring/redis-om/redis-om-spring"},{"type":"link","label":"Working with JSON","href":"/develop/java/spring/redis-om/redis-om-spring-json","docId":"develop/java/spring/redis-om/redis-om-spring-json"},{"type":"link","label":"Working with Hashes","href":"/develop/java/spring/redis-om/redis-om-spring-hash","docId":"develop/java/spring/redis-om/redis-om-spring-hash"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Redis and Spring Course","items":[{"type":"link","label":"Overview","href":"/develop/java/redis-and-spring-course","docId":"develop/java/spring/redis-and-spring-course/index-redis-and-spring-course"},{"type":"link","label":"Up and Running","href":"/develop/java/redis-and-spring-course/lesson_1","docId":"develop/java/spring/redis-and-spring-course/lesson_1/index-lesson_1"},{"type":"link","label":"Spring Data Redis","href":"/develop/java/redis-and-spring-course/lesson_2","docId":"develop/java/spring/redis-and-spring-course/lesson_2/index-lesson_2"},{"type":"link","label":"Mapping & Repositories","href":"/develop/java/redis-and-spring-course/lesson_3","docId":"develop/java/spring/redis-and-spring-course/lesson_3/index-lesson_3"},{"type":"link","label":"User Roles & Secondary Indexes","href":"/develop/java/redis-and-spring-course/lesson_4","docId":"develop/java/spring/redis-and-spring-course/lesson_4/index-lesson_4"},{"type":"link","label":"Books, Categories & The Catalog","href":"/develop/java/redis-and-spring-course/lesson_5","docId":"develop/java/spring/redis-and-spring-course/lesson_5/index-lesson_5"},{"type":"link","label":"Domain Models w/ Redis","href":"/develop/java/redis-and-spring-course/lesson_6","docId":"develop/java/spring/redis-and-spring-course/lesson_6/index-lesson_6"},{"type":"link","label":"Search w/ Redis","href":"/develop/java/redis-and-spring-course/lesson_7","docId":"develop/java/spring/redis-and-spring-course/lesson_7/index-lesson_7"},{"type":"link","label":"Caching w/ Redis","href":"/develop/java/redis-and-spring-course/lesson_9","docId":"develop/java/spring/redis-and-spring-course/lesson_9/index-lesson_9"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Rate Limiting","items":[{"type":"link","label":"Overview","href":"/develop/java/spring/rate-limiting","docId":"develop/java/spring/rate-limiting/index-ratelimiting"},{"type":"category","label":"Fixed Window","items":[{"type":"link","label":"Overview","href":"/develop/java/spring/rate-limiting/fixed-window","docId":"develop/java/spring/rate-limiting/fixed-window/index-spring-fixed-window"},{"type":"link","label":"Reactive Implementation","href":"/develop/java/spring/rate-limiting/fixed-window/reactive","docId":"develop/java/spring/rate-limiting/fixed-window/index-spring-fixed-window-reactive"},{"type":"link","label":"Atomicity with Lua","href":"/develop/java/spring/rate-limiting/fixed-window/reactive-lua","docId":"develop/java/spring/rate-limiting/fixed-window/index-spring-fixed-window-reactive-lua"},{"type":"link","label":"Atomicity with Gears","href":"/develop/java/spring/rate-limiting/fixed-window/reactive-gears","docId":"develop/java/spring/rate-limiting/fixed-window/index-spring-fixed-window-reactive-gears"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"link","label":"C","href":"/develop/C/","docId":"develop/C/index-c"},{"type":"category","label":"Node.js","items":[{"type":"link","label":"Overview","href":"/develop/node","docId":"develop/node/index-node"},{"type":"link","label":"Getting Started","href":"/develop/node/gettingstarted","docId":"develop/node/gettingstarted/index-gettingstarted"},{"type":"category","label":"Node.js Crash Course","items":[{"type":"link","label":"Overview","href":"/develop/node/node-crash-course","docId":"develop/node/node-crash-course/index-node-crash-course"},{"type":"link","label":"Welcome","href":"/develop/node/nodecrashcourse/welcome","docId":"develop/node/node-crash-course/welcome/index-welcome"},{"type":"link","label":"What is Redis?","href":"/develop/node/nodecrashcourse/whatisredis","docId":"develop/node/node-crash-course/whatisredis/index-whatisredis"},{"type":"link","label":"Redis and Node.js","href":"/develop/node/nodecrashcourse/redisandnodejs","docId":"develop/node/node-crash-course/redisandnodejs/index-redisandnodejs"},{"type":"link","label":"Introducing RedisInsight","href":"/develop/node/nodecrashcourse/introducingredisinsight","docId":"develop/node/node-crash-course/introducingredisinsight/index-introducingredisinsight"},{"type":"link","label":"Sample Application Overview","href":"/develop/node/nodecrashcourse/sampleapplicationoverview","docId":"develop/node/node-crash-course/sampleapplicationoverview/index-sampleapplicationoverview"},{"type":"link","label":"Running the Application","href":"/develop/node/nodecrashcourse/runningtheapplication","docId":"develop/node/node-crash-course/runningtheapplication/index-runningtheapplication"},{"type":"link","label":"Domain Objects with Hashes","href":"/develop/node/nodecrashcourse/domainobjectswithhashes","docId":"develop/node/node-crash-course/domainobjectswithhashes/index-domainobjectswithhashes"},{"type":"link","label":"Redis Extensibility","href":"/develop/node/nodecrashcourse/introductiontomodules","docId":"develop/node/node-crash-course/introductiontomodules/index-introductiontomodules"},{"type":"link","label":"JSON","href":"/develop/node/nodecrashcourse/redisjson","docId":"develop/node/node-crash-course/redisjson/index-redisjson"},{"type":"link","label":"Searching and Querying","href":"/develop/node/nodecrashcourse/redisearch","docId":"develop/node/node-crash-course/redisearch/index-redisearch"},{"type":"link","label":"Checkins with Streams","href":"/develop/node/nodecrashcourse/checkinswithstream
1s","docId":"develop/node/node-crash-course/checkinswithstreams/index-checkinswithstreams"},{"type":"link","label":"Managing Success","href":"/develop/node/nodecrashcourse/managingsuccess","docId":"develop/node/node-crash-course/managingsuccess/index-managingsuccess"},{"type":"link","label":"Caching","href":"/develop/node/nodecrashcourse/caching","docId":"develop/node/node-crash-course/caching/index-caching"},{"type":"link","label":"Session Storage","href":"/develop/node/nodecrashcourse/sessionstorage","docId":"develop/node/node-crash-course/sessionstorage/index-sessionstorage"},{"type":"link","label":"Advanced Streams","href":"/develop/node/nodecrashcourse/advancedstreams","docId":"develop/node/node-crash-course/advancedstreams/index-advancedstreams"},{"type":"link","label":"Probabilistic Data Structures","href":"/develop/node/nodecrashcourse/redisbloom","docId":"develop/node/node-crash-course/redisbloom/index-redisbloom"},{"type":"link","label":"Wrap Up","href":"/develop/node/nodecrashcourse/coursewrapup","docId":"develop/node/node-crash-course/coursewrapup/index-coursewrapup"}],"collapsed":true,"collapsible":true},{"type":"link","label":"Redis OM for Node.js","href":"/develop/node/redis-om","docId":"develop/node/redis-om/index-redis-om"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Python","items":[{"type":"link","label":"Redis with FastAPI","href":"/develop/python/fastapi","docId":"develop/python/fastapi/index-fastapi"}],"collapsed":true,"collapsible":true},{"type":"category","label":".NET","items":[{"type":"category","label":"ASP.NET Core","items":[{"type":"category","label":"Rate Limiting","items":[{"type":"link","label":"Fixed Window Rate Limiting app using ASP.NET","href":"/develop/dotnet/aspnetcore/rate-limiting/fixed-window","docId":"develop/dotnet/aspnetcore/rate-limiting/fixed-window/index-dotnet-rate-limiting"},{"type":"link","label":"Sliding Window Rate Limiting app  using ASP.NET","href":"/develop/dotnet/aspnetcore/rate-limiting/sliding-window","docId":"develop/dotnet/aspnetcore/rate-limiting/sliding-window/sliding-window-rate-limiting"},{"type":"link","label":"Rate Limiting Middleware","href":"/develop/dotnet/aspnetcore/rate-limiting/middleware","docId":"develop/dotnet/aspnetcore/rate-limiting/middleware/byo-rate-limiter-middleware"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Caching","items":[{"type":"link","label":"Basic API Caching using ASP.NET Core","href":"/develop/dotnet/aspnetcore/caching/basic-api-caching","docId":"develop/dotnet/aspnetcore/caching/basic/index-basic-caching"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Redis OM Dotnet","items":[{"type":"link","label":"Add and Retrieve Objects","href":"/develop/dotnet/redis-om-dotnet/add-and-retrieve-objects","docId":"develop/dotnet/redis-om-dotnet/add-and-retrieve-objects/add-and-retrieve-objects"},{"type":"link","label":"Creating an Index","href":"/develop/dotnet/redis-om-dotnet/searching/creating-an-index","docId":"develop/dotnet/redis-om-dotnet/creating-an-index/creating-an-index"},{"type":"category","label":"Querying","items":[{"type":"link","label":"Simple Text Queries","href":"/develop/dotnet/redis-om-dotnet/simple-text-queries","docId":"develop/dotnet/redis-om-dotnet/searching/simple-text-queries/simple-text-queries"},{"type":"link","label":"Numeric Queries","href":"/develop/dotnet/redis-om-dotnet/searching/numeric-queries","docId":"develop/dotnet/redis-om-dotnet/searching/numeric-queries/numeric-queries"},{"type":"link","label":"Geo Filters","href":"/develop/dotnet/redis-om-dotnet/searching/geo-filters","docId":"develop/dotnet/redis-om-dotnet/searching/geo-filters/geo-filters"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Aggregations","items":[{"type":"link","label":"Aggregations Intro","href":"/develop/dotnet/redis-om-dotnet/aggregations","docId":"develop/dotnet/redis-om-dotnet/aggregations/intro/intro"},{"type":"link","label":"Apply Functions","href":"/develop/dotnet/redis-om-dotnet/aggregations/apply-functions","docId":"develop/dotnet/redis-om-dotnet/aggregations/apply-functions/apply-functions"},{"type":"link","label":"Grouping and Reductions","href":"/develop/dotnet/redis-om-dotnet/aggregations/groups/groups","docId":"develop/dotnet/redis-om-dotnet/aggregations/groups/groups"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Streams","items":[{"type":"link","label":"Using Redis Streams with .NET","href":"/develop/dotnet/stream
1s/stream-basics","docId":"develop/dotnet/streams/stream-basics"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"link","label":"Ruby","href":"/develop/ruby/","docId":"develop/ruby/index-ruby"},{"type":"link","label":"PHP","href":"/develop/php/","docId":"develop/php/index-php"},{"type":"link","label":"Deno","href":"/develop/deno/","docId":"develop/deno/index-deno"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Explore","items":[{"type":"link","label":"Overview","href":"/explore","docId":"explore/index-explore"},{"type":"link","label":"Import Data into a Redis database","href":"/explore/import/","docId":"explore/import/index-import"},{"type":"link","label":"Redis Data Source for Grafana","href":"/explore/redisdatasource","docId":"explore/redisdatasource/index-redisdatasource"},{"type":"link","label":"Redis Enterprise Observability with Datadog","href":"/explore/datadog","docId":"explore/datadog/index-datadog"},{"type":"link","label":"RIOT","href":"/explore/riot","docId":"explore/riot/index-riot"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Operate","items":[{"type":"category","label":"Observability","items":[{"type":"link","label":"Redis Data Source for Grafana","href":"/operate/observability/redisdatasource","docId":"operate/observability/redisdatasource/index-redisdatasource"},{"type":"link","label":"Redis Enterprise Observability with Datadog","href":"/operate/observability/datadog","docId":"operate/observability/datadog/index-datadog"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Provisioning","items":[{"type":"link","label":"Deploy and Manage Redis Database on AWS using Terraform","href":"/operate/provisioning/terraform","docId":"operate/provisioning/terraform/index-terraform"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Running Redis at Scale","items":[{"type":"link","label":"Overview","href":"/operate/redis-at-scale","docId":"operate/redis-at-scale/index-redis-at-scale"},{"type":"category","label":"1 Talking to Redis","items":[{"type":"link","label":"1.0 Redis Server Overview","href":"/operate/redis-at-scale/talking-to-redis/redis-server-overview","docId":"operate/redis-at-scale/talking-to-redis/redis-server-overview/index-redis-server-overview"},{"type":"link","label":"1.1 The Command Line Tool: Redis-CLI","href":"/operate/redis-at-scale/talking-to-redis/command-line-tool","docId":"operate/redis-at-scale/talking-to-redis/command-line-tool/index-command-line-tool"},{"type":"link","label":"1.2 Configuring a Redis Server","href":"/operate/redis-at-scale/talking-to-redis/configuring-a-redis-server","docId":"operate/redis-at-scale/talking-to-redis/configuring-a-redis-server/index-configuring-a-redis-server"},{"type":"link","label":"1.3 Redis Clients","href":"/operate/redis-at-scale/talking-to-redis/redis-clients","docId":"operate/redis-at-scale/talking-to-redis/redis-clients/index-redis-clients"},{"type":"link","label":"1.4 Client Performance Improvements","href":"/operate/redis-at-scale/talking-to-redis/client-performance-improvements","docId":"operate/redis-at-scale/talking-to-redis/client-performance-improvements/index-client-performance-improvements"},{"type":"link","label":"1.5 Initial Tuning","href":"/operate/redis-at-scale/talking-to-redis/initial-tuning","docId":"operate/redis-at-scale/talking-to-redis/initial-tuning/index-initial-tuning"}],"collapsed":true,"collapsible":true},{"type":"category","label":"2 Persistence & Durability","items":[{"type":"link","label":"2.0 Introduction to Persistence and Durability\'","href":"/operate/redis-at-scale/persistence-and-durability/introduction","docId":"operate/redis-at-scale/persistence-and-durability/introduction/index-introduction"},{"type":"link","label":"2.1 Persistence options in Redis\'","href":"/operate/redis-at-scale/persistence-and-durability/persistence-options-in-redis","docId":"operate/redis-at-scale/persistence-and-durability/persistence-options-in-redis/index-persistence-options-in-redis"},{"type":"link","label":"2.2 Exercise: Saving a Snapshot","href":"/operate/redis-at-scale/persistence-and-durability/exercise","docId":"operate/redis-at-scale/persistence-and-durability/exercise/index-exercise"}],"collapsed":true,"collapsible":true},{"type":"category","label":"3 High Availability","items":[{"type":"link","label":"3.0 Introduction to High Availability","href":"/operate/redis-at-scale/high-availability/introduction","docId":"operate/redis-at-scale/high-availability/introduction/index-introduction"},{"type":"link","label":"3.1 Basic Replication","href":"/operate/redis-at-scale/high-availability/basic-replication","docId":"operate/redis-at-scale/high-availability/basic-replication/index-basic-replication"},{"type":"link","label":"3.2 Exercise - Enabling Basic Replication","href":"/operate/redis-at-scale/high-availability/exercise-1","docId":"operate/redis-at-scale/high-availability/exercise-1/index-exercise-1"},{"type":"link","label":"3.3 Understanding Sentinels","href":"/operate/redis-at-scale/high-availability/understanding-sentinels","docId":"operate/redis-at-scale/high-availability/understanding-sentinels/index-understanding-sentinels"},{"type":"link","label":"3.4 Exercise - Sentinel Hands-on","href":"/operate/redis-at-scale/high-availability/exercise-2","docId":"operate/redis-at-scale/high-availability/exercise-2/index-exercise-2"}],"collapsed":true,"collapsible":true},{"type":"category","label":"4 Scalability","items":[{"type":"link","label":"4.0 Clustering In Redis","href":"/operate/redis-at-scale/scalability/lustering-in-redis","docId":"operate/redis-at-scale/scalability/clustering-in-redis/index-clustering-in-redis"},{"type":"link","label":"4.1 Exercise - Creating a Redis Cluster","href":"/operate/redis-at-scale/scalability/exercise-1","docId":"operate/redis-at-scale/scalability/exercise-1/index-exercise-1"},{"type":"link","label":"4.2 Using Redis-CLI with a Redis Cluster","href":"/operate/redis-at-scale/scalability/redis-cli-with-redis-cluster","docId":"operate/redis-at-scale/scalability/redis-cli-with-redis-cluster/index-redis-cli-with-redis-cluster"},{"type":"link","label":"4.3 Redis Cluster and Client Libraries","href":"/operate/redis-at-scale/scalability/redis-cluster-and-client-libraries","docId":"operate/redis-at-scale/scalability/redis-cluster-and-client-libraries/index-redis-cluster-and-client-libraries"}],"collapsed":true,"collapsible":true},{"type":"category","label":"5 Observability","items":[{"type":"link","label":"5.0 Introduction to Observability","href":"/operate/redis-at-scale/observability/introduction","docId":"operate/redis-at-scale/observability/introduction/index-introduction"},{"type":"link","label":"5.1 Data points in Redis","href":"/operate/redis-at-scale/observability/data-points-in-redis","docId":"operate/redis-at-scale/observability/data-points-in-redis/index-data-points-in-redis"},{"type":"link","label":"5.2 Getting Redis Statistics","href":"/operate/redis-at-scale/observability/exercise-1","docId":"operate/redis-at-scale/observability/exercise-1/index-exercise-1"},{"type":"link","label":"5.3 Identifying Issues","href":"/operate/redis-at-scale/observability/identifying-issues","docId":"operate/redis-at-scale/observability/identifying-issues/index-identifying-issues"}],"collapsed":true,"collapsible":true},{"type":"category","label":"6 Course wrap-up","items":[{"type":"link","label":"Course Wrap-up","href":"/operate/redis-at-scale/course-wrap-up/","docId":"operate/redis-at-scale/course-wrap-up/index-wrap-up"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Orchestration","items":[{"type":"link","label":"Overview","href":"/operate/orchestration","docId":"operate/orchestration/index-orchestration"},{"type":"link","label":"Redis on Docker","href":"/operate/orchestration/docker/","docId":"operate/orchestration/docker/index-docker"},{"type":"link","label":"Node.js, Nginx, Redis and Docker","href":"/operate/docker/nodejs-nginx-redis","docId":"operate/orchestration/nodejs-nginx-redis/index-nodejs-nginx-redis"},{"type":"link","label":"Redis on Kubernetes","href":"/operate/orchestration/kubernetes/kubernetes-gke","docId":"operate/orchestration/kubernetes-gke/index-kubernetes-gke"},{"type":"link","label":"Kubernetes Operator: What It Is and Why You Should Really Care About It","href":"/operate/orchestration/kubernetes-operator","docId":"operate/orchestration/kubernetes-operator/index-kubernetes-operator"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"HowTos & Tutorials","items":[{"type":"link","label":"Cheat sheet","href":"/howtos/quick-start/cheat-sheet","docId":"howtos/quick-start/cheat-sheets/index-quick-start-cheat-sheet"},{"type":"category","label":"Solutions","items":[{"type":"link","label":"Overview","href":"/howtos/solutions","docId":"howtos/solutions/index-solutions"},{"type":"category","label":"Microservices","items":[{"type":"link","label":"How to Build an E-Commerce App Using Redis with the CQRS Pattern","href":"/howtos/solutions/microservices/cqrs","docId":"howtos/solutions/microservices/cqrs/index-solutions-cqrs"},{"type":"link","label":"Microservices Communication with Redis Streams","href":"/howtos/solutions/microservices/interservice-communication","docId":"howtos/solutions/microservices/interservice-communication/index-solutions-interservice-communication"},{"type":"link","label":"How to use Redis for Query Caching","href":"/howtos/solutions/microservices/caching","docId":"howtos/solutions/microservices/caching/index-solutions-caching"},{"type":"link","label":"How to use Redis for API Gateway Caching","href":"/howtos/solutions/microservices/api-gateway-caching","docId":"howtos/solutions/microservices/api-gateway-caching/index-solutions-api-gateway-caching"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Fraud detection","items":[{"type":"link","label":"Redis for Digital Identity Validation","href":"/howtos/solutions/fraud-detection/digital-identity-validation","docId":"howtos/solutions/fraud-detection/digital-identity-validation/index-digital-identity-validation"},{"type":"link","label":"How to use Redis for Transaction risk scoring","href":"/howtos/solutions/fraud-detection/transaction-risk-scoring","docId":"howtos/solutions/fraud-detection/transaction-risk-scoring/index-transaction-risk-scoring"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Caching architecture","items":[{"type":"link","label":"How to use Redis for Write-behind Caching","href":"/howtos/solutions/caching-architecture/write-behind","docId":"howtos/solutions/caching-architecture/write-behind/index-write-behind"},{"type":"link","label":"How to use Redis for Write through caching strategy","href":"/howtos/solutions/caching-architecture/write-through","docId":"howtos/solutions/caching-architecture/write-through/index-write-through"},{"type":"link","label":"How to use Redis for Cache Prefetching Strategy","href":"/howtos/solutions/caching-architecture/cache-prefetching","docId":"howtos/solutions/caching-architecture/cache-prefetching/index-cache-prefetching"},{"type":"link","label":"How to use Redis for Query Caching","href":"/howtos/solutions/microservices/caching","docId":"howtos/solutions/microservices/caching/index-solutions-caching"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Real-time Inventory","items":[{"type":"link","label":"Available to Promise in Real-time Inventory","href":"/howtos/solutions/real-time-inventory/available-to-promise","docId":"howtos/solutions/real-time-inventory/available-to-promise/index-rti-available-to-promise"},{"type":"link","label":"Real-time Local Inventory Search Using Redis","href":"/howtos/solutions/real-time-inventory/local-inventory-search","docId":"howtos/solutions/real-time-inventory/local-inventory-search/index-rti-local-inventory-search"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Mobile Banking","items":[{"type":"link","label":"Mobile Banking Authentication and Session Storage Using Redis","href":"/howtos/solutions/mobile-banking/session-management","docId":"howtos/solutions/mobile-banking/session-management/index-mb-session-management"},{"type":"link","label":"Mobile Banking Account Dashboard Using Redis","href":"/howtos/solutions/mobile-banking/account-dashboard","docId":"howtos/solutions/mobile-banking/account-dashboard/index-mb-account-dashboard"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Vector Database","items":[{"type":"link","label":"How to Perform Vector Similarity Search Using Redis in NodeJS","href":"/howtos/solutions/vector/getting-started-vector","docId":"howtos/solutions/vector/getting-started-vector/index-getting-started-vector"},{"type":"link","label":"How to Build a GenAI Chatbot Using LangChain and Redis","href":"/howtos/solutions/vector/gen-ai-chatbot","docId":"howtos/solutions/vector/gen-ai-chatbot/index-solutions-gen-ai-chatbot"},{"type":"link","label":"Semantic Text Search Using LangChain (OpenAI) and Redis","href":"/howtos/solutions/vector/semantic-text-search","docId":"howtos/solutions/vector/semantic-text-search/index-semantic-text-search"},{"type":"link","label":"Semantic Image Based Queries Using LangChain (OpenAI) and Redis","href":"/howtos/solutions/vector/image-summary-search","docId":"howtos/solutions/vector/image-summary-search/index-image-summary-search"},{"type":"link","label":"Building an AI-Powered Video Q&A Application with Redis and LangChain","href":"/howtos/solutions/vector/ai-qa-videos-langchain-redis-openai-google","docId":"howtos/solutions/vector/video-qa/index-video-qa"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Triggers and Functions","items":[{"type":"link","label":"Getting Started With Triggers and Functions in Redis","href":"/howtos/solutions/triggers-and-functions/getting-started","docId":"howtos/solutions/triggers-and-functions/getting-started-tf/index-triggers-and-functions"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Geo Location Search","items":[{"type":"link","label":"Getting Started With Geo Location Search in Redis","href":"/howtos/solutions/geo/getting-started","docId":"howtos/solutions/geo/getting-started-geo/index-geo-search"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"link","label":"How to build a Real-Time Leaderboard app Using Redis","href":"/howtos/leaderboard","docId":"howtos/leaderboard/index-leaderboard"},{"type":"link","label":"How to build a Rate Limiter using Redis","href":"/howtos/ratelimiting","docId":"howtos/ratelimiting/index-ratelimiting"},{"type":"link","label":"How to cache REST API responses Using Redis & NodeJS","href":"/howtos/caching","docId":"howtos/caching/index-caching"},{"type":"category","label":"How to list & search Movies database using Redis Stack","items":[{"type":"link","label":"2. Install Redis Stack","href":"/howtos/moviesdatabase/install","docId":"howtos/moviesdatabase/install/index-install"},{"type":"link","label":"3. Create Index","href":"/howtos/moviesdatabase/create","docId":"howtos/moviesdatabase/create/index-create"},{"type":"link","label":"4. Query Data","href":"/howtos/moviesdatabase/query","docId":"howtos/moviesdatabase/query/index-query"},{"type":"link","label":"5. Manage Index","href":"/howtos/moviesdatabase/manage","docId":"howtos/moviesdatabase/manage/index-manage"},{"type":"link","label":"6. Import datasets","href":"/howtos/moviesdatabase/import","docId":"howtos/moviesdatabase/import/index-import"},{"type":"link","label":"7. Query Movies","href":"/howtos/moviesdatabase/querymovies","docId":"howtos/moviesdatabase/querymovies/index-querymovies"},{"type":"link","label":"8. Aggregation","href":"/howtos/moviesdatabase/aggregation","docId":"howtos/moviesdatabase/aggregation/index-aggregation"},{"type":"link","label":"9. Advanced Option","href":"/howtos/moviesdatabase/advancedoption","docId":"howtos/moviesdatabase/advancedoption/index-advancedoption"},{"type":"link","label":"10. Sample Application","href":"/howtos/moviesdatabase/sampleapp","docId":"howtos/moviesdatabase/sampleapp/index-sampleapp"}],"collapsed":true,"collapsible":true},{"type":"link","label":"How to build a Chat application using Redis","href":"/howtos/chatapp","docId
1":"howtos/chatapp/index-chatapp"},{"type":"link","label":"How to build a Fraud Detection System using Redis","href":"/howtos/frauddetection","docId":"howtos/frauddetection/index-frauddetection"},{"type":"link","label":"Building a Pipeline for Natural Language Processing using RedisGears","href":"/howtos/nlp","docId":"howtos/nlp/index-nlp"},{"type":"link","label":"Benchmarks for BERT Large Question Answering inference for RedisAI and RedisGears","href":"/howtos/redisai/bert-qa-benchmarking-with-redisai-and-redisgears","docId":"howtos/bert-qa-benchmarking/bert-qa-benchmarking-with-redisai-and-redisgears"},{"type":"link","label":"How to build a HackerNews Clone using Redis","href":"/howtos/hackernews","docId":"howtos/hackernews/index-hackernews"},{"type":"link","label":"Redis Anti-Patterns Every Developer Should Avoid","href":"/howtos/antipatterns/","docId":"howtos/antipatterns/index-antipatterns"},{"type":"link","label":"Building a Social Network Application using Redis Stack","href":"/howtos/socialnetwork/","docId":"howtos/socialnetwork/index-socialnetwork"},{"type":"link","label":"How to Use SSL/TLS With Redis Enterprise","href":"/howtos/security/","docId":"howtos/security/index-tls"},{"type":"link","label":"Building an Analytics dashboard app using Redis","href":"/howtos/analytics","docId":"howtos/analytics/index-analytics"},{"type":"link","label":"Building a Popup Store application using Redis","href":"/howtos/popupstore","docId":"howtos/popupstore/index-popupstore"},{"type":"link","label":"How to build a NodeJS based application on Heroku using Redis","href":"/howtos/herokunodejs","docId":"howtos/herokunodejs/index-herokunodejs"},{"type":"link","label":"How to build a Python based application on Heroku using Redis","href":"/howtos/herokupython","docId":"howtos/herokupython/index-herokupython"},{"type":"link","label":"How to build a Java based application on Heroku using Redis","href":"/howtos/herokujava","docId":"howtos/herokujava/index-herokujava"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Get Involved","items":[{"type":"link","label":"Overview","href":"/community/","docId":"get-involved/index-getinvolved"},{"type":"link","label":"Discord","href":"/community/discord/","docId":"get-involved/discord/index-discord"},{"type":"link","label":"Redis Live","href":"/redis-live/","docId":"get-involved/redis-live/index-redis-live"},{"type":"category","label":"Redis Insiders","items":[{"type":"link","label":"Redis Insiders","href":"/redis-insiders/","docId":"get-involved/redis-insiders/index-redis-insiders"},{"type":"link","label":"Jyotsna Gupta","href":"/redis-insiders/jyotsna-gupta/","docId":"get-involved/redis-insiders/jyotsna-gupta/index-jyotsna-gupta"},{"type":"link","label":"Moiz Kapasi","href":"/redis-insiders/moiz-kapasi/","docId":"get-involved/redis-insiders/moiz-kapasi/index-moiz-kapasi"},{"type":"link","label":"Michael Owolabi","href":"/redis-insiders/michael-owolabi/","docId":"get-involved/redis-insiders/michael-owolabi/index-michael-owolabi"},{"type":"link","label":"Stevan Thomas","href":"/redis-insiders/stevan-thomas/","docId":"get-involved/redis-insiders/stevan-thomas/index-stevan-thomas"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Hacktoberfest 2021","items":[{"type":"link","label":"Start Here","href":"/hacktoberfest/","docId":"get-involved/hacktoberfest/index-hacktoberfest"},{"type":"link","label":"Lara\'s Hacktoberfest at Redis Story","href":"/hacktoberfest/stories/lara-aasem","docId":"get-involved/hacktoberfest/lara-aasem-story/index-lara-aasem-story"},{"type":"link","label":"Vincent\'s Hacktoberfest at Redis Story","href":"/hacktoberfest/stories/vincent-aceto","docId":"get-involved/hacktoberfest/vincent-aceto-story/index-vincent-aceto-story"}],"collapsed":true,"collapsible":true},{"type":"link","label":"DEVcember","href":"/devcember/","docId":"get-involved/devcember/index-devcember"}],"collapsed":true,"collapsible":true},{"type":"category","label":"E-books","items":[{"type":"link","label":"NoSQL Data Modeling Patterns","href":"/ebooks/8-nosql-data-modeling-patterns","docId":"ebooks/nosql-data-modeling-patterns"},{"type":"link","label":"3 design patterns to speed up MEAN and MERN stack applications","href":"/ebooks/three-caching-design-patterns","docId":"ebooks/three-caching-design-patterns"}],"collapsed":true,"collapsible":true}]},"docs":{"create/aws/analytics-using-aws/index-analytics-using-aws":{"id":"create/aws/analytics-using-aws/index-analytics-using-aws","title":"How to Build and Deploy Your Own Analytics Dashboard using NodeJS and Redis on the AWS Platform","description":"An interactive analytics dashboard serves several purposes. They allow you to share data and provide you with all those vital information to make game-changing decisions at a faster pace. Building a real-time dynamic dashboard using a traditional relational database might require a complex set of queries. By using a NoSQL database like Redis, you can build a powerful interactive and dynamic dashboard with a small number of Redis commands.","sidebar":"docs"},"create/aws/bidding-on-aws/index-bidding-on-aws":{"id":"create/aws/bidding-on-aws/index-bidding-on-aws","title":"How to Build a Real-Time Bidding Platform using NodeJS, AWS Lambda and Redis","description":"Digital technology has propelled us forward to an exciting new era and has transformed almost every aspect of life. We\u2019re more interconnected than ever as communication has become instant. Working from home has now become the norm, helping us pivot to a new way of working during the pandemic. And our ability to reduce carbon emissions by attending work-related events online has meant that we\u2019ve taken greater strides to combat global warming. Continuing this trend is Shamshir Anees and his team, who have created an application that can host digital auctions. By using Redis, data transmission between components was carried out with maximum efficiency, providing users with real-time bidding updates on the dashboard.","sidebar":"docs"},"create/aws/chatapp/index-chatapp":{"id":"create/aws/chatapp/index-chatapp","title":"How to Build a Real Time Chat application on Amazon Web Services using Python and Redis","description":"Real time chat messaging apps are surg
1ing in popularity exponentially. Mobile apps like WhatsApp, Facebook, Telegram, Slack, Discord have become \u201ca part and parcel\u201d of our life. Users are addicted to these live chat mobile app conversations as they bring a personal touch and offer a real-time interaction","sidebar":"docs"},"create/aws/import/index-database-migration-aws-elasticache-redis-enterprise-cloud":{"id":"create/aws/import/index-database-migration-aws-elasticache-redis-enterprise-cloud","title":"How to migrate your database from AWS ElastiCache to Redis without any downtime","description":"Most of the database migration tools available today are offline in nature. They are complex and require manual intervention.","sidebar":"docs"},"create/aws/index-aws":{"id":"create/aws/index-aws","title":"Overview","description":"The following links provide you with the available options to run apps on AWS using Redis:","sidebar":"docs"},"create/aws/README":{"id":"create/aws/README","title":"images","description":""},"create/aws/redis-on-aws/images/README":{"id":"create/aws/redis-on-aws/images/README","title":"images","description":""},"create/aws/redis-on-aws/index-redis-on-aws":{"id":"create/aws/redis-on-aws/index-redis-on-aws","title":"Create Redis database on AWS","description":"Redis Cloud on AWS is fully managed Redis as a service. Designed for modern distributed applications, Redis Cloud on AWS is known for its high performance, infinite scalability and true high availability.","sidebar":"docs"},"create/aws/redis-on-aws/README":{"id":"create/aws/redis-on-aws/README","title":"images","description":""},"create/aws/slackbot/index-slackbot":{"id":"create/aws/slackbot/index-slackbot","title":"How to Build a Slack Bot to Retrieve Lost Files Using AWS S3 and Redis Search and Query Engine","description":"alt_text","sidebar":"docs"},"create/aws/terraform/index-terraform":{"id":"create/aws/terraform/index-terraform","title":"How to Deploy and Manage Redis Database on AWS Using Terraform","description":"terraform","sidebar":"docs"},"create/azure/index-azure":{"id":"create/azure/index-azure","title":"Azure Cache for Redis","description":"The following links provides you with the available options for create instances of Azure Cache for Redis","sidebar":"docs"},"create/azure/portal/index-azure-portal":{"id":"create/azure/portal/index-azure-portal","title":"Create Redis database on Azure Cache","description":"Redis is an open source, in-memory, key-value data store most commonly used as a primary database, cache, message broker, and queue. Redis cache delivers sub-millisecond response times, enabling fast and powerful real-time applications in industries such as gaming, fintech, ad-tech, social media, healthcare, and IoT. Developers love Redis due to its speed, simplicity and performance.","sidebar":"docs"},"create/azurefunctions/index-azurefunctions":{"id":"create/azurefunctions/index-azurefunctions","title":"Getting Started with Azure Functions and Redis","description":"alttext","sidebar":"docs"},"create/cloud/aws/index-aws":{"id":"create/cloud/aws/index-aws","title":"Create Database using AWS Cloud","description":"Redis Cloud on AWS is fully managed Redis as a service. Designed for modern distributed applications, Redis Cloud on AWS is known for its high performance, infinite scalability and true high availability."},"create/cloud/azure/index-azure":{"id":"create/cloud/azure/index-azure","title":"Create Database using Azure Cache for Redis","description":"Azure Cache for Redis is a native fully-managed service on Microsoft Azure. Azure Cache for Redis offers both the Redis open-source (OSS Redis) and a commercial product from Redis (Redis Cloud) as a managed service. It provides secure and dedicated Redis server instances and full Redis API compatibility. The service is operated by Microsoft, hosted on Azure, and accessible to any application within or outside of Azure."},"create/cloud/gcp/index-gcp":{"id":"create/cloud/gcp/index-gcp","title":"Create Database using Google Cloud","description":"Redis Cloud delivers fully managed Redis as a service. It offers all the capabilities of Redis Enterprise while taking care of all the operational aspects associated with operating Redis in the most efficient manner on Google Cloud Platform. Redis Cloud is built on a complete serverless concept, so users don\u2019t need to deal with nodes and clusters"},"create/cloud/images/README":{"id":"create/cloud/images/README","title":"images","de
1scription":""},"create/cloud/index-cloud":{"id":"create/cloud/index-cloud","title":"Create Database using Cloud","description":""},"create/cloud/rediscloud/images/README":{"id":"create/cloud/rediscloud/images/README","title":"images","description":""},"create/cloud/rediscloud/index-rediscloud":{"id":"create/cloud/rediscloud/index-rediscloud","title":"Create Database using Redis Cloud","description":"Redis Cloud is a fully managed cloud service by Redis. Built for modern distributed applications, Redis Cloud enables you to run any query, simple or complex, at sub-millisecond performance at virtually infinite scale without worrying about operational complexity or service availability. With modern probabilistic data structures and extensible data models, including Search, JSON, Graph, and Time Series, you can rely on Redis as your data-platform for all your real-time needs."},"create/docker/index-docker":{"id":"create/docker/index-docker","title":"Overview","description":"The following links provide you with the available options to create a new Redis database using Docker","sidebar":"docs"},"create/docker/nodejs-nginx-redis/index-nodejs-nginx-redis":{"id":"create/docker/nodejs-nginx-redis/index-nodejs-nginx-redis","title":"How to build and run a Node.js application using Nginx, Docker and Redis","description":"Thanks to Node.js - Millions of frontend developers that write JavaScript for the browser are now able to write the server-side code in addition to the client-side code without the need to learn a completely different language. Node.js is a free, open-sourced, cross-platform JavaScript run-time environment. It is capable to handle thousands of concurrent connections with a single server without introducing the burden of managing thread concurrency, which could be a significant source of bugs.","sidebar":"docs"},"create/heroku/index-heroku":{"id":"create/heroku/index-heroku","title":"Overview","description":"The following links provide you with the available options to run apps on Heroku using Redis:"},"create/heroku/portal/index-heroku-portal":{"id":"create/heroku/portal/index-heroku-portal","title":"Create a Redis database on Heroku","description":"Heroku is a cloud Platform as a Service (PaaS) supporting multiple programming languages that is used as a web application deployment model. Heroku lets the developer build, run and scale applications in a similar manner across all the languages(Java, Node.js, Scala, Clojure, Python, PHP, Ruby and Go)."},"create/images/README":{"id":"create/images/README","title":"images","description":""},"create/index-create":{"id":"create/index-create","title":"Create a Redis Database - Quick Starts","description":"The following quick starts shows various ways of how to get started and create a new Redis database:","sidebar":"docs"},"create/jenkins/index-jenkins":{"id":"create/jenkins/index-jenkins","title":"How to Deploy a Redis Enterprise Database from a Jenkins Pipeline","description":"Jenkins is currently the most popular CI(Continuous Integration) tool, with ~15M users. It is an open source automation server which enables developers to reliably build, test, and deploy their software. It was forked in 2011 from a project called Hudson after a dispute with Oracle, and is used for Continuous Integration and Continuous Delivery (CI/CD) and test automation. Jenkins is based on Java and provides over 1700 plugins to automate your developer workflow and save a lot of your time in executing your repetitive tasks.","sidebar":"docs"},"create/kubernetes/index-kubernetes":{"id":"create/kubernetes/index-kubernetes","title":"Overview","description":"The following links provide you with the available options to create a new Redis database on Kubernetes Platforms","sidebar":"docs"},"create/kubernetes/kubernetes-operator/index-kubernetes-operator":{"id":"create/kubernetes/kubernetes-operator/index-kubernetes-operator","title":"Kubernetes Operator: What It Is and Why You Should Really Care About It","description":"My Image"},"create/openshift/index-openshift":{"id":"create/openshift/index-openshift","title":"How to deploy Redis Enterprise on Red Hat OpenShift Container Platform via OperatorHub","description":"Deploying and managing containerized applications is not easy. The rise of microservice architecture has made it cumbersome to deploy containers across multiple environments. Given that containers can be spun up in seconds and at a much higher volume compared to VMs, managing containers across multiple platforms can be extremely challenging."},"create/redis-functions/index-redis-functions":{"id":"create/redis-functions/index-redis-functions","title":"Getting started with Redis Functions","description":"The most impactful addition to Redis version 7.0 is Redis Functions - a new programmability option, improving on scripts by adding modularity, reusability, and better overall developer experience.","sidebar":"docs"},"create/windows/index-windows":{"id":"create/windows/index-windows","title":"How to Install Redis on Windows","description":"You can run Redis on Windows 10 using Windows Subsystem for Linux(a.k.a WSL2). WSL2 is a compatibility layer for running Linux binary executables natively on Windows 10 and Windows Server 2019. WSL2 lets developers run a GNU/Linux environment (that includes command-line tools, utilities, and applications) directly on Windows.","sidebar":"docs"},"develop/C/index-c":{"id":"develop/C/index-c","title":"C and Redis","description":"Find tutorials, examples and technical articles that will help you to develop with Redis and C.","sidebar":"docs"},"develop/deno/index-deno":{"id":"develop/deno/index-deno","title":"Deno and Redis","description":"With over 80,000 stars and 670+ contributors, Deno is a popular modern runtime for JavaScript and TypeScript. It is built on V8, an open-source JavaScript engine developed by the Chromium Project for Google Chrome and Chromium web browsers.","sidebar":"docs"},"develop/dotnet/aspnetcore/caching/basic/index-basic-caching":{"id":"develop/dotnet/aspnetcore/caching/basic/index-basic-caching","title":"How to add a basic API Cache to your ASP.NET Core application","description":"Redis is synonymous with caching, and for a good reason, Redis is fast and easy to get up and running with and does an excellent job as a cache.","sidebar":"docs"},"develop/dotnet/aspnetcore/rate-limiting/fixed-window/index-dotnet-rate-limiting":{"i
1d":"develop/dotnet/aspnetcore/rate-limiting/fixed-window/index-dotnet-rate-limiting","title":"How to implement a Fixed Window Rate Limiting app using ASP.NET Core & Redis","description":"In this tutorial, we will build an app that implements basic fixed-window rate limiting using Redis & ASP.NET Core.","sidebar":"docs"},"develop/dotnet/aspnetcore/rate-limiting/middleware/byo-rate-limiter-middleware":{"id":"develop/dotnet/aspnetcore/rate-limiting/middleware/byo-rate-limiter-middleware","title":"Configurable Sliding Window Rate Limiting Middleware for Redis & ASP.NET Core","description":"Let\'s consider the case (which is probably most cases) where we have multiple endpoints we want to rate limit; it doesn\'t make an awful lot of sense to embed rate-limiting in those cases in the logic of the routes themselves. Instead, have something that will intercept requests and check to see if the request is rate-limited before moving onto the appropriate endpoint. To accomplish this, we\'ll build some middleware for just this purpose. And with some light configuration work, we\'ll be able to build some middleware to handle a configurable set of limits.","sidebar":"docs"},"develop/dotnet/aspnetcore/rate-limiting/sliding-window/sliding-window-rate-limiting":{"id":"develop/dotnet/aspnetcore/rate-limiting/sliding-window/sliding-window-rate-limiting","title":"How to implement Sliding Window Rate Limiting app using ASP.NET Core & Redis","description":"In this tutorial, we\'ll learn how to build a sliding window rate limiter for ASP.NET Core using Redis.","sidebar":"docs"},"develop/dotnet/index-dotnet":{"id":"develop/dotnet/index-dotnet","title":".NET and Redis","description":"Getting Started"},"develop/dotnet/redis-om-dotnet/add-and-retrieve-objects/add-and-retrieve-objects":{"id":"develop/dotnet/redis-om-dotnet/add-and-retrieve-objects/add-and-retrieve-objects","title":"Add and Retrieve Objects","description":"The Redis OM library supports declarative storage and retrieval of objects from Redis. Without Redis Stack, this is limited to using hashes, and id lookups of objects in Redis. You will still use the Document Attribute to decorate a class you\'d like to store in Redis. From there, all you need to do is either call Insert or InsertAsync on the RedisCollection or Set or SetAsync on the RedisConnection, passing in the object you want to set in Redis. You can then retrieve those objects with Get or GetAsync with the RedisConnection or with FindById or FindByIdAsync in the RedisCollection.","sidebar":"docs"},"develop/dotnet/redis-om-dotnet/aggregations/apply-functions/apply-functions":{"id":"develop/dotnet/redis-om-dotnet/aggregations/apply-functions/apply-functions","title":"Apply Functions","description":"Apply functions are functions that you can define as expressions to apply to your data in Redis. In essence, they allow you to combine your data together, and extract the information you want.","sidebar":"docs"},"develop/dotnet/redis-om-dotnet/aggregations/groups/groups":{"id":"develop/dotnet/redis-om-dotnet/aggregations/groups/groups","title":"Grouping and Reductions","description":"Grouping and reducing operations using aggregations can be extremely powerful.","sidebar":"docs"},"develop/dotnet/redis-om-dotnet/aggregations/intro/intro":{"id":"develop/dotnet/redis-om-dotnet/aggregations/intro/intro","title":"Aggregations Intro","description":"Aggregations are a method of grouping documents together and run processing on them on the server to transform them into data that you need in your application, without having to perform the computation client-side.","sidebar":"docs"},"develop/dotnet/redis-om-dotnet/creating-an-index/creating-an-index":{"id":"develop/dotnet/redis-om-dotnet/creating-an-index/creating-an-index","title":"Creating an Index with Redis OM","description":"To unlock some of the nicest functionality of Redis OM, e.g., running searches, matches, aggregations, reductions, mappings, etc... You will need to tell Redis how you want data to be stored and how you want it indexed. One of the features the Redis OM library provides is creating indices that map directly to your objects by declaring the indices as attributes on your class.","sidebar":"docs"},"develop/dotnet/redis-om-dotnet/searching/geo-filters/geo-filters":{"id":"develop/dotnet/redis-om-dotnet/searching/geo-filters/geo-filters","title":"Geo Filters","description":"A really nifty bit of indexing you can do with Redis OM is geo-indexing. To GeoIndex, all you need to do is to mark a GeoLoc field in your model as Indexed and create the index","sidebar":"docs"},"develop/dotnet/redis-om-dotnet/searching/numeric-queries/numeric-queries":{"id":"develop/dotnet/redis-om-dotnet/searching/numeric-queries/numeric-queries","title":"Numeric Queries","description":"In addition to providing c
1apabilities for text queries, Redis OM also provides you the ability to perform numeric equality and numeric range queries. Let us assume a model of:","sidebar":"docs"},"develop/dotnet/redis-om-dotnet/searching/simple-text-queries/simple-text-queries":{"id":"develop/dotnet/redis-om-dotnet/searching/simple-text-queries/simple-text-queries","title":"Simple Text Queries","description":"The RedisCollection provides a fluent interface for querying objects stored in redis. This means that if you store an object in Redis with the Redis OM library, and you have Redis Stack running, you can query objects stored in Redis with ease using the LINQ syntax you\'re used to.","sidebar":"docs"},"develop/dotnet/streams/stream-basics":{"id":"develop/dotnet/streams/stream-basics","title":"How to use Redis Streams with .NET","description":"Redis Streams are a powerful data structure that allows you to use Redis as a sort of Message bus to transport messages between different application components. The way streams operate in Redis is very fast and memory efficient. This article will not go over the minutia of every command available for Redis Streams, but rather it\'s aimed to provide a high-level tutorial for how you can use Redis Streams with .NET.","sidebar":"docs"},"develop/guides/netlify/getting-started/index-getting-started":{"id":"develop/guides/netlify/getting-started/index-getting-started","title":"Getting Started with Netlify","description":"<Tabs"},"develop/index-develop":{"id":"develop/index-develop","title":"Develop your application using programming languages","description":"Find documentation, sample code and tools to develop with your favorite language.","sidebar":"docs"},"develop/java/getting-started/index-gettingstarted":{"id":"develop/java/getting-started/index-gettingstarted","title":"Java and Redis","description":"Find tutorials, examples and technical articles that will help you to develop with Redis and Java."},"develop/java/index-java":{"id":"develop/java/index-java","title":"Java and Redis","description":"Explore the many different ways to build Java applications powered by Redis:","sidebar":"docs"},"develop/java/spring/index-spring":{"id":"develop/java/spring/index-spring","title":"Spring and Redis","description":"Discover the many different ways to build powerful SpringBoot applications with Redis:","sidebar":"docs"},"develop/java/spring/rate-limiting/fixed-window/index-spring-fixed-window":{"id":"develop/java/spring/rate-limiting/fixed-window/index-spring-fixed-window","title":"How to Implement Fixed Window Rate Limiting using Redis","description":"The simplest approach to build a rate limiter is the \\"fixed window\\" implementation in which we cap the","sidebar":"docs"},"develop/java/spring/rate-limiting/fixed-window/index-spring-fixed-window-reactive":{"id":"develop/java/spring/rate-limiting/fixed-window/index-spring-fixed-window-reactive","title":"Reactive Implementation","description":"A basic Spring Web Flux App","sidebar":"docs"},"develop/java/spring/rate-limiting/fixed-window/index-spring-fixed-window-reactive-gears":{"id":"develop/java/spring/rate-limiting/fixed-window/index-spring-fixed-window-reactive-gears","title":"Atomicity with Gears","description":"This tutorial uses Lettuce, which is an unsupported Redis library. For production applications, we recommend using Jedis","sidebar":"docs"},"develop/java/spring/rate-limiting/fixed-window/index-spring-fixed-window-reactive-lua":{"id":"develop/java/spring/rate-limiting/fixed-window/index-spring-fixed-window-reactive-lua","title":"Atomicity with Lua","description":"Improving atomicity and performance with Lua","sidebar":"docs"},"develop/java/spring/rate-limiting/getting-started/index-java-rate-limiting":{"id":"develop/java/spring/rate-limiting/getting-started/index-java-rate-limiting","title":"How to implement Rate Limiting in Spring Applications using Redis","description":"In this series of mini-tutorials we\'ll explore several approaches to implement rate limiting in Spring applications using Redis. We\u2019ll start with the most basic of Redis recipes and we\u2019ll slowly increase the complexity of our implementations."}
1,"develop/java/spring/rate-limiting/index-ratelimiting":{"id":"develop/java/spring/rate-limiting/index-ratelimiting","title":"Rate Limiting with Spring and Redis","description":"The following links provides you with the available options to develop your application using NodeJS and Redis","sidebar":"docs"},"develop/java/spring/redis-and-spring-course/index-redis-and-spring-course":{"id":"develop/java/spring/redis-and-spring-course/index-redis-and-spring-course","title":"Getting Started with Spring Data Redis","description":"This is a complete online course for Java/Spring developers wanting to learn how","sidebar":"docs"},"develop/java/spring/redis-and-spring-course/lesson_1/index-lesson_1":{"id":"develop/java/spring/redis-and-spring-course/lesson_1/index-lesson_1","title":"Spring and Redis: Up and Running","description":"Objectives","sidebar":"docs"},"develop/java/spring/redis-and-spring-course/lesson_2/index-lesson_2":{"id":"develop/java/spring/redis-and-spring-course/lesson_2/index-lesson_2","title":"Introducing Spring Data Redis","description":"Objectives","sidebar":"docs"},"develop/java/spring/redis-and-spring-course/lesson_3/index-lesson_3":{"id":"develop/java/spring/redis-and-spring-course/lesson_3/index-lesson_3","title":"Object Mapping & Redis Repositories","description":"Objectives","sidebar":"docs"},"develop/java/spring/redis-and-spring-course/lesson_4/index-lesson_4":{"id":"develop/java/spring/redis-and-spring-course/lesson_4/index-lesson_4","title":"User/Roles & Secondary Indexes","description":"Objectives","sidebar":"docs"},"develop/java/spring/redis-and-spring-course/lesson_5/index-lesson_5":{"id":"develop/java/spring/redis-and-spring-course/lesson_5/index-lesson_5","title":"Books, Categories & The Catalog","description":"Objectives","sidebar":"docs"},"develop/java/spring/redis-and-spring-course/lesson_6/index-lesson_6":{"id":"develop/java/spring/redis-and-spring-course/lesson_6/index-lesson_6","title":"Domain Models with Redis","description":"Objectives","sidebar":"docs"},"develop/java/spring/redis-and-spring-course/lesson_7/index-lesson_7":{"id":"develop/java/spring/redis-and-spring-course/lesson_7/index-lesson_7","title":"Search with Redis","description":"This tutorial uses Lettuce, which is an unsupported Redis library. For production applications, we recommend using Jedis","sidebar":"docs"},"develop/java/spring/redis-and-spring-course/lesson_9/index-lesson_9":{"id":"develop/java/spring/redis-and-spring-course/lesson_9/index-lesson_9","title":"Caching REST Services with Redis","description":"Objectives","sidebar":"docs"},"develop/java/spring/redis-om/redis-om-spring":{"id":"develop/java/spring/redis-om/redis-om-spring","title":"Redis OM - Spring","description":"Introduction","sidebar":"docs"},"develop/java/spring/redis-om/redis-om-spring-hash":{"id":"develop/java/spring/redis-om/redis-om-spring-hash","title":"Enhanced Mapping of Java Objects to Hashes","description":"Introduction","sidebar":"docs"},"develop/java/spring/redis-om/redis-om-spring-json":{"id":"develop/java/spring/redis-om/redis-om-spring-json","title":"Mapping Java Objects to JSON","description":"Introduction","sidebar":"docs"},"develop/node/gettingstarted/index-gettingstarted":{"id":"develop/node/gettingstarted/index-gettingstarted","title":"Getting Started with Node and Redis","description":"Find tutorials, examples and technical articles that will help you to develop with Redis and Node.js/JavaScript:","sidebar":"docs"},"develop/node/index-node":{"id":"develop/node/index-node","title":"NodeJS and Redis","description":"The following links provides you with the available options to develop your application using NodeJS and Redis","sidebar":"docs"},"develop/node/node-crash-course/advancedstreams/index-advancedstreams":{"id":"develop/node/node-crash-course/advancedstreams/index-advancedstreams","title":"Advanced Streams: Parallel Processing Checkins with Consumer Groups","description":"<iframe","sidebar":"docs"},"develop/node/node-crash-course/caching/index-caching":{"id":"develop/node/node-crash-course/caching/index-caching","title":"Caching with Redis and Express Middleware","description":"<iframe","sidebar":"docs"}
1,"develop/node/node-crash-course/checkinswithstreams/index-checkinswithstreams":{"id":"develop/node/node-crash-course/checkinswithstreams/index-checkinswithstreams","title":"Processing Checkins with Redis Streams","description":"<iframe","sidebar":"docs"},"develop/node/node-crash-course/coursewrapup/index-coursewrapup":{"id":"develop/node/node-crash-course/coursewrapup/index-coursewrapup","title":"Course Wrap Up","description":"<iframe","sidebar":"docs"},"develop/node/node-crash-course/domainobjectswithhashes/index-domainobjectswithhashes":{"id":"develop/node/node-crash-course/domainobjectswithhashes/index-domainobjectswithhashes","title":"Managing Domain Objects with Redis Hashes","description":"In this module, you\'ll see how we\'re using Redis Hashes to model the user and location data in our application.","sidebar":"docs"},"develop/node/node-crash-course/index-node-crash-course":{"id":"develop/node/node-crash-course/index-node-crash-course","title":"The Node.js Crash Course","description":"This is a complete online course for Node.js developers wanting to learn about Redis,","sidebar":"docs"},"develop/node/node-crash-course/introducingredisinsight/index-introducingredisinsight":{"id":"develop/node/node-crash-course/introducingredisinsight/index-introducingredisinsight","title":"Introducing RedisInsight","description":"<iframe","sidebar":"docs"},"develop/node/node-crash-course/introductiontomodules/index-introductiontomodules":{"id":"develop/node/node-crash-course/introductiontomodules/index-introductiontomodules","title":"Redis Extensibility","description":"Redis Modules","sidebar":"docs"},"develop/node/node-crash-course/managingsuccess/index-managingsuccess":{"id":"develop/node/node-crash-course/managingsuccess/index-managingsuccess","title":"Managing Success with Redis","description":"We launched our checkin application, and it\'s been an incredible success! Users love it and are checking in to all of the locations that signed up to be part of it!","sidebar":"docs"},"develop/node/node-crash-course/redisandnodejs/index-redisandnodejs":{"id":"develop/node/node-crash-course/redisandnodejs/index-redisandnodejs","title":"Using Redis from Node.js","description":"<iframe","sidebar":"docs"},"develop/node/node-crash-course/redisbloom/index-redisbloom":{"id":"develop/node/node-crash-course/redisbloom/index-redisbloom","title":"Preventing Duplicate Checkins with Redis","description":"<iframe","sidebar":"docs"},"develop/node/node-crash-course/redisearch/index-redisearch":{"id":"develop/node/node-crash-course/redisearch/index-redisearch","title":"Indexing and Querying with Redis","description":"<iframe","sidebar":"docs"},"develop/node/node-crash-course/redisjson/index-redisjson":{"id":"develop/node/node-crash-course/redisjson/index-redisjson","title":"Managing Document Data with JSON","description":"<iframe","sidebar":"docs"},"develop/node/node-crash-course/runningtheapplication/index-runningtheapplication":{"id":"develop/node/node-crash-course/runningtheapplication/index-runningtheapplication","title":"Up and Running with the Sample Application","description":"Let\'s get hands on, clone the application repository from GitHub, start up Redis in a Docker container, and load the sample data!","sidebar":"docs"},"develop/node/node-crash-course/sampleapplicationoverview/index-sampleapplicationoverview":{"id":"develop/node/node-crash-course/sampleapplicationoverview/index-sampleapplicationoverview","title":"Sample Application Overview","description":"<iframe","sidebar":"docs"},"develop/node/node-crash-course/sessionstorage/index-sessionstorage":{"id":"develop/node/node-crash-course/sessionstorage/index-sessionstorage","title":"Scaling an Express Application with Redis as a Session Store","description":"<iframe","sidebar":"docs"},"develop/node/node-crash-course/welcome/index-welcome":{"id":"develop/node/node-crash-course/welcome/index-welcome","title":"Welcome to the Node.js Crash Course","description":"<iframe","sidebar":"docs"},"develop/node/node-crash-course/whatisredis/index-whatisredis":{"id":"develop/node/node-crash-course/whatisredis/index-whatisredis","title":"What is Redis?: An Overview","description":"<iframe","sidebar":"docs"},"develop/node/redis-om/index-redis-om":{"id":"develop/node/redis-om/index-redis-om","title":"Up and Running with Express and Redis OM for Node.js in 5-m
1inutes","description":"OK. So that title is a bold claim. And this is a read-and-follow-along sort of tutorial. So, it might be 6 minutes or 4 minutes depending on how fast you type. Regardless, this should get you building something useful quickly and could make a nice foundation for something bigger.","sidebar":"docs"},"develop/php/index-php":{"id":"develop/php/index-php","title":"PHPRedis - Redis client library for PHP","description":"Find tutorials, examples and technical articles that will help you to develop with Redis and PHP.","sidebar":"docs"},"develop/python/fastapi/index-fastapi":{"id":"develop/python/fastapi/index-fastapi","title":"Using Redis with FastAPI","description":"This tutorial helps you get started with Redis and FastAPI.","sidebar":"docs"},"develop/python/redis-om/index-redis-om":{"id":"develop/python/redis-om/index-redis-om","title":"Getting Started With Redis OM for Python","description":"Redis OM for Python makes it easy to model and query data in Redis using"},"develop/ruby/index-ruby":{"id":"develop/ruby/index-ruby","title":"Ruby and Redis","description":"Find tutorials, examples and technical articles that will help you to develop with Redis and Ruby.","sidebar":"docs"},"develop/rust/index-rust":{"id":"develop/rust/index-rust","title":"Rust and Redis","description":"Find tutorials, examples and technical articles that will help you to develop with Redis and Rust."},"ebooks/nosql-data-modeling-patterns":{"id":"ebooks/nosql-data-modeling-patterns","title":"Learn 8 NoSQL Data Modeling Patterns in Redis","description":"Introduction","sidebar":"docs"},"ebooks/three-caching-design-patterns":{"id":"ebooks/three-caching-design-patterns","title":"3 design patterns to speed up MEAN and MERN stack applications","description":"<Excerpt","sidebar":"docs"},"explore/datadog/index-datadog":{"id":"explore/datadog/index-datadog","title":"Redis Enterprise Observability with Datadog","description":"Datadog","sidebar":"docs"},"explore/import/index-import":{"id":"explore/import/index-import","title":"How to Import data into a Redis database","description":"Redis offers multiple ways to import data into a database; from an file, an script or from an existing Redis database.","sidebar":"docs"},"explore/index-explore":{"id":"explore/index-explore","title":"Explore Your Data","description":"The following links provides you with the available options to explore a new Redis database either on the Cloud or using local software.","sidebar":"docs"},"explore/redisdatasource/index-redisdatasource":{"id":"explore/redisdatasource/index-redisdatasource","title":"How to add Redis as a datasource in Grafana and build customize dashboards for Analytics","description":"The Redis Data Source for Grafana is a plug-in that allows users to connect to the Redis database and build dashboards in Grafana to easily monitor Redis and application data. It provides an out-of-the-box predefined dashboard, but also lets you build customized dashboards tuned to your specific needs.","sidebar":"docs"},"explore/riot/index-riot":{"id":"explore/riot/index-riot","title":"RIOT","description":"Redis Input/Output Tools (RIOT) is a set of import/export command line utilities for Redis:","sidebar":"docs"},"get-involved/devcember/index-devcember":{"id":"get-involved/devcember/index-devcember","title":"Redis DEVcember","description":"What\'s it all About?","sidebar":"docs"},"get-involved/discord/index-discord":{"id":"get-involved/discord/index-discord","title":"Redis Discord Server","description":"The Redis Discord server is a place where you can learn, share, and collaborate about anything and everything Redis.","sidebar":"docs"},"get-involved/hacktoberfest/index-hacktoberfest":{"id":"get-involved/hacktoberfest/index-hacktoberfest","title":"Hacktoberfest 2021 at Redis","description":"(Looking for Hacktoberfest 2022?  Find us over at redis.io!)","sidebar":"docs"},"get-involved/hacktoberfest/lara-aasem-story/index-lara-aasem-story":{"id":"get-involved/hacktoberfest/lara-aasem-story/index-lara-aasem-story","title":"Hacktoberfest Stories: Opening the source of open source","description":"Preface by Suze Shardlow, Developer Community Manager at Redis:","sidebar":"docs"},"get-involved/hacktoberfest/vincent-aceto-story/index-vincent-aceto-story":{"id":"get-involved/hacktoberfest/vincent-aceto-story/index-vincent-aceto-story","title":"Hacktoberfest Stories: A Hacktoberfest Composition: Redis and Docker","description":"Hello! My name\'s Vincent Aceto and I am a Software Engineer based in New York City. Throughout the week, you can find me hacking away on mobile and TV applications over at Equinox Media. On the weekends, when I\'m not getting lost somewhere on my skateboard, I\'ll be nose deep in some open source or personal projects.","sidebar":"docs"},"get-involved/index-getinvolved":{"id":"get-involved/index-getinvolved","title":"Get Involved with Redis Community","description":"Need help with Redis? Do you want to share something cool? Want to learn more Redis? Check out some of the great community resources at your disposal:","sidebar":"docs"},"get-involved/redis-insiders/index-redis-insiders":{"id":"get-involved/redis-insiders/index-redis-insiders","title":"Redis Insiders, our ambassador program","description":"Redis Insiders is our first community ambassador program, launched in May 2022.","sidebar":"docs"},"get-involved/redis-insiders/jyotsna-gupta/index-jyotsna-gupta":{"id":"get-involved/redis-insiders/jyotsna-gupta/index-jyotsna-gupta","title":"Jyotsna Gupta, Redis Insider","description":"\\"I am an Open Source Enthusiast, working as a Senior Softw
1are Engineer at Gojek (GoPay). I am based out of Bangalore, India. I have been using Redis for the last 3 years.","sidebar":"docs"},"get-involved/redis-insiders/michael-owolabi/index-michael-owolabi":{"id":"get-involved/redis-insiders/michael-owolabi/index-michael-owolabi","title":"Michael Owolabi, Redis Insider","description":"\\"I am a Senior Software Engineer at Spleet and have been using Redis for 2+ years. I build software products using Node.js.\\"","sidebar":"docs"},"get-involved/redis-insiders/moiz-kapasi/index-moiz-kapasi":{"id":"get-involved/redis-insiders/moiz-kapasi/index-moiz-kapasi","title":"Moiz Kapasi, Redis Insider","description":"\\"I am a Solution Architect at Capgemini and have been using Redis for 1.5 years. I build/manage/enhance various applications in the enterprise landscape of a major car manufacturer in Europe chain using Java/J2EE stack.","sidebar":"docs"},"get-involved/redis-insiders/stevan-thomas/index-stevan-thomas":{"id":"get-involved/redis-insiders/stevan-thomas/index-stevan-thomas","title":"Stevan Thomas, Redis Insider","description":"\\"I am a Senior Software Engineer at Vela and have been using Redis for 5 years. I build web, mobile and desktop apps for a variety of industries including shipping / logistics, financial, retail and Hhalth using JavaScript, TypeScript, Node.js, React, Swift, Java, C# and Python.","sidebar":"docs"},"get-involved/redis-live/index-redis-live":{"id":"get-involved/redis-live/index-redis-live","title":"Redis Live","description":"The Redis Developer Relations Team hosts a variety of live content on Twitch, YouTube and Discord. Follow us to get notified when we go live. And, you know, like and subscribe!","sidebar":"docs"},"guides/data-modeling/index-data-modeling":{"id":"guides/data-modeling/index-data-modeling","title":"Data Modeling for Redis","description":"Introduction"},"guides/import-data":{"id":"guides/import-data","title":"Import Data into Redis","description":"Import data to the Cloud"},"guides/import/database-migration-aws-elasticache-redis-enterprise-cloud":{"id":"guides/import/database-migration-aws-elasticache-redis-enterprise-cloud","title":"Online Database Migration from Amazon ElastiCache to Redis Cloud using RIOT","description":"Authors: Ajeet Singh Raina, Julien Ruaux"},"guides/import/index-import":{"id":"guides/import/index-import","title":"Import Data into Redis","description":"Redis offers multiple ways to import data into a database; from an file, an script or from an existing Redis database."},"guides/index-guides":{"id":"guides/index-guides","title":"Guides","description":"<RedisCard"},"guides/indexing/indexing-querying":{"id":"guides/indexing/indexing-querying","title":"Indexing and Querying","description":"Introduction"},"guides/security/how-to-use-tls-with-redis-enterprise/how-to-use-ssl-tls-with-redis-enterprise":{"id":"guides/security/how-to-use-tls-with-redis-enterprise/how-to-use-ssl-tls-with-redis-enterprise","title":"How to Use SSL/TLS With Redis Enterprise","description":"Learn how to secure your Redis databases using SSL"},"guides/security/index-security":{"id":"guides/security/index-security","title":"Redis Security","description":"In this section of the site you will learn about Security and Redis."},"howtos/analytics/index-analytics":{"id":"howtos/analytics/index-analytics","title":"Building an Analytics dashboard app using Redis","description":"Interactive analytics dashboards serve several purposes. They allow you to share data and provide you with all those vital information to make game-changing decisions at a faster pace. Building a real-time dynamic dashboard using a traditional relational database might require a complex set of queries. By using a NoSQL database like Redis, you can build a powerful interactive and dynamic dashboard with a small number of Redis commands.","sidebar":"docs"},"howtos/antipatterns/index-antipatterns":{"id":"howtos/antipatterns/index-antipatterns","title":"Redis Anti-Patterns Every Developer Should Avoid","description":"antipattern","sidebar":"docs"},"howtos/bert-qa-benchmarking/bert-qa-benchmarking-with-redisai-and-redisgears":{"id":"howtos/bert-qa-benchmarking/bert-qa-benchmarking-with-redisai-and-redisgears","title":"Benchmarks for BERT Large Question Answering inference for RedisAI and RedisGears","description":"Explore the challenges and opportunities associated with deploying large BERT QA models inside Redis.","sidebar":"docs"},"howtos/caching/index-caching":{"id":"howtos/caching/index-caching","title":"How to cache REST API responses Using Redis & NodeJS","de
1scription":"My Image","sidebar":"docs"},"howtos/chatapp/index-chatapp":{"id":"howtos/chatapp/index-chatapp","title":"How to build a Chat application using Redis","description":"Real-time chat app is an online communication channel that allows you to conduct real-time conversations. More and more developers are tapping into the power of Redis as it is extremely fast & due to its support for variety of rich data structure such as Lists, Sets, Sorted Sets, Hashes etc. Redis comes along with a Pub/Sub messaging feature functionality that allows developers to scale the backend by spawning multiple server instances.","sidebar":"docs"},"howtos/frauddetection/index-frauddetection":{"id":"howtos/frauddetection/index-frauddetection","title":"How to build a Fraud Detection System using Redis","description":"Imagine that your ads are generating a lot of traffic, but you are not seeing the desired results from your ad spend. This might not be a coincidence\u2014fraudsters often try to steal digital ad marketing budgets through various sophisticated mechanisms. Faking clicks can make it appear as though a real user was engaging with the ad, but in reality when these fake clicks drive installs, the cost of the install goes to the fraudster\u2019s pocket. As companies\u2019 willingness to spend more on digital advertisements grows, the number of fraudsters in ad markets also increases.","sidebar":"docs"},"howtos/hackernews/index-hackernews":{"id":"howtos/hackernews/index-hackernews","title":"How to build a HackerNews Clone using Redis","description":"Hacker News (sometimes abbreviated as HN) is a social news website focusing on computer science and entrepreneurship.","sidebar":"docs"},"howtos/herokujava/index-herokujava":{"id":"howtos/herokujava/index-herokujava","title":"How to build a Java based application on Heroku using Redis","description":"Step 1. Create Redis Cloud","sidebar":"docs"},"howtos/herokunodejs/index-herokunodejs":{"id":"howtos/herokunodejs/index-herokunodejs","title":"How to build a NodeJS based application on Heroku using Redis","description":"Step 1. Create Redis Cloud","sidebar":"docs"},"howtos/herokupython/index-herokupython":{"id":"howtos/herokupython/index-herokupython","title":"How to build a Python based application on Heroku using Redis","description":"Step 1. Create Redis Cloud","sidebar":"docs"},"howtos/index-modules":{"id":"howtos/index-modules","title":"index-modules","description":"id: index-modules"},"howtos/leaderboard/index-leaderboard":{"id":"howtos/leaderboard/index-leaderboard","title":"How to build a Real-Time Leaderboard app Using Redis","description":"The concept of a leaderboard\u2014a scoreboard showing the ranked names and current scores (or other data points) of the leading competitors\u2014is essential to the world of computer gaming, but leaderboards are now about more than just games. They are about gamification, a broader implementation that can include any group of people with a common goal (coworkers, students, sales groups, fitness groups, volunteers, and so on).","sidebar":"docs"},"howtos/moviesdatabase/advancedoption/index-advancedoption":{"id":"howtos/moviesdatabase/advancedoption/index-advancedoption","title":"9. Advanced Option","description":"Create an index using a Filter","sidebar":"docs"},"howtos/moviesdatabase/aggregation/index-aggregation":{"id":"howtos/moviesdatabase/aggregation/index-aggregation","title":"8. Aggregations","description":"A common need for applications, in addition to retrieving information as a document list, like you have done with the \\"FT.SEARCH\\" command, is to do some \\"aggregation\\".","sidebar":"docs"},"howtos/moviesdatabase/create/index-create":{"id":"howtos/moviesdatabase/create/index-create","title":"3. Create Index","description":"Before creating the index let\'s describe the dataset and insert entries.","sidebar":"docs"},"howtos/moviesdatabase/import/index-import":{"id":"howtos/moviesdatabase/import/index-import","title":"6. Import datasets","description":"In the previous steps you used only a few movies, let\'s now import:","sidebar":"docs"},"howtos/moviesdatabase/index-moviesdatabase":{"id":"howtos/moviesdatabase/index-moviesdatabase","title":"How to list and search Movies Database using Redis Stack","description":""},"howtos/moviesdatabase/install/index-install":{"id":"howtos/moviesdatabase/install/index-install","title":"2. Install Redis Stack","description":"You have multiple ways to run Redis Stack:","sidebar":"docs"}
1,"howtos/moviesdatabase/manage/index-manage":{"id":"howtos/moviesdatabase/manage/index-manage","title":"5. Manage Index","description":"Listing and inspecting the indexes","sidebar":"docs"},"howtos/moviesdatabase/query/index-query":{"id":"howtos/moviesdatabase/query/index-query","title":"4. Query Data","description":"The database contains a few movies, and an index, it is now possible to execute some queries.","sidebar":"docs"},"howtos/moviesdatabase/querymovies/index-querymovies":{"id":"howtos/moviesdatabase/querymovies/index-querymovies","title":"7. Query Movies","description":"As described earlier in the tutorial, one of the goals of search and query in Redis Stack is to provide rich querying capabilities such as:","sidebar":"docs"},"howtos/moviesdatabase/sampleapp/index-sampleapp":{"id":"howtos/moviesdatabase/sampleapp/index-sampleapp","title":"10. Sample Application","description":"It is time now to see how to use search with Redis Stack in your application.","sidebar":"docs"},"howtos/nlp/index-nlp":{"id":"howtos/nlp/index-nlp","title":"Building a Pipeline for Natural Language Processing using RedisGears","description":"Goal","sidebar":"docs"},"howtos/popupstore/index-popupstore":{"id":"howtos/popupstore/index-popupstore","title":"Building a Popup Store  application using Redis","description":"Pop-up stores are becoming a popular channel for retailers to create a new revenue stream, generate buzz with customers, test product concepts, or unload excess inventory. Since the idea is to spin up the store quickly and then close it shortly thereafter, it doesn\u2019t make sense to spend a lot of time on development. With the right Redis modules, you can create a robust customer experience without a lot of development effort.","sidebar":"docs"},"howtos/quick-start/cheat-sheets/connect":{"id":"howtos/quick-start/cheat-sheets/connect","title":"connect","description":"<Tabs"},"howtos/quick-start/cheat-sheets/generic":{"id":"howtos/quick-start/cheat-sheets/generic","title":"generic","description":"<Tabs"},"howtos/quick-start/cheat-sheets/hashes":{"id":"howtos/quick-start/cheat-sheets/hashes","title":"hashes","description":"<Tabs"},"howtos/quick-start/cheat-sheets/index-quick-start-cheat-sheet":{"id":"howtos/quick-start/cheat-sheets/index-quick-start-cheat-sheet","title":"Redis Commands Cheat sheet","description":"Connect","sidebar":"docs"},"howtos/quick-start/cheat-sheets/json":{"id":"howtos/quick-start/cheat-sheets/json","title":"json","description":"<Tabs"},"howtos/quick-start/cheat-sheets/lists":{"id":"howtos/quick-start/cheat-sheets/lists","title":"lists","description":"<Tabs"},"howtos/quick-start/cheat-sheets/search-and-query":{"id":"howtos/quick-start/cheat-sheets/search-and-query","title":"search-and-query","description":"<Tabs"},"howtos/quick-start/cheat-sheets/sets":{"id":"howtos/quick-start/cheat-sheets/sets","title":"sets","description":"<Tabs"},"howtos/quick-start/cheat-sheets/sorted-sets":{"id":"howtos/quick-start/cheat-sheets/sorted-sets","title":"sorted-sets","description":"<Tabs"},"howtos/quick-start/cheat-sheets/streams":{"id":"howtos/quick-start/cheat-sheets/streams","title":"streams","description":"<Tabs"},"howtos/quick-start/cheat-sheets/strings":{"id":"howtos/quick-start/cheat-sheets/strings","title":"strings","description":"<Tabs"},"howtos/quick-start/cheat-sheets/triggers-and-functions":{"id":"howtos/quick-start/cheat-sheets/triggers-and-functions","title":"triggers-and-functions","description":""},"howtos/quick-start/index-quick-start":{"id":"howtos/quick-start/index-quick-start","title":"Getting Started","description":"Welcome to the getting started for the official Redis Developer Hub!","sidebar":"docs"},"howtos/ratelimiting/index-ratelimiting":{"id":"howtos/ratelimiting/index-ratelimiting","title":"How to build a Rate Limiter using Redis","description":"Rate limiting is a mechanism that many developers may have to deal with at some point in their life. It\u2019s useful for a variety of purposes like sharing access to limited resources or limiting the number of requests made to an API endpoint and responding with a 429 status code.","sidebar":"docs"},"howtos/redisgraph/csvtograph/index-csvtograph":{"id":"howtos/redisgraph/csvtograph/index-csvtograph","title":"How to build RedisGraph databases from CSV inputs in Easy Steps","description":"RedisGraph is the fastest graph database that processes complex graph operations in real time, 10x \u2013 600x faster than any other graph database. It shows how your data is connected through multiple visualization integrations including RedisInsight, Linkuri
1ous, and Graphileon."},"howtos/redisgraph/explore-python-code/index-explorepythoncode":{"id":"howtos/redisgraph/explore-python-code/index-explorepythoncode","title":"Explore Python Codebase using RedisGraph","description":"Pycograph is an open source tool that creates a RedisGraph model of your Python code. The tool lets you to explore your Python codebase with graph queries. With Pycograph, you can query the python code with Cypher. Additionally, it is possible to visualize the graph model using RedisInsight."},"howtos/redisgraph/getting-started/index-gettingstarted":{"id":"howtos/redisgraph/getting-started/index-gettingstarted","title":"Graph database using Redis Stack","description":"RedisGraph is a Redis module that enables enterprises to process any kind of connected data much faster than with traditional relational or existing graph databases. RedisGraph implements a unique data storage and processing solution (with sparse-adjacency matrices and GraphBLAS) to deliver the fastest and most efficient way to store, manage, and process connected data in graphs. With RedisGraph, you can process complex transactions 10 - 600 times faster than with traditional graph solutions while using 50 - 60% less memory resources than other graph databases!"},"howtos/redisgraph/index-redisgraph":{"id":"howtos/redisgraph/index-redisgraph","title":"RedisGraph Tutorial","description":"The following links provides you with the available options to get started with RedisGraph"},"howtos/redisgraph/redisgraph-cheatsheet/index-redisgraph-cheatsheet":{"id":"howtos/redisgraph/redisgraph-cheatsheet/index-redisgraph-cheatsheet","title":"RedisGRAPH Cheatsheet","description":"| Command                                                                                                                                      | Purpose                                                                                                                                                                                | Syntax                                                                                                                                                                                       |"},"howtos/redisgraph/redisgraphmovies/index-redisgraphmovies":{"id":"howtos/redisgraph/redisgraphmovies/index-redisgraphmovies","title":"Building Movies database app using React, NodeJS and Redis","description":"IMDb(Internet Movie Database) is the world\'s most popular and authoritative source for information on movies, TV shows and celebrities. This application is an IMDB clone with basic account authentication and movie recommendation functionality. You will learn the power of RedisGraph and NodeJS to build a simple movie database."},"howtos/redisgraph/using-dotnet/index-using-dotnet":{"id":"howtos/redisgraph/using-dotnet/index-using-dotnet","title":"How to query Graph data in Redis using .NET","description":"RedisGraph enables you to store and query graph data in Redis using the Cypher Query Language. In this article, we will discuss the usage of RedisGraph with .NET."},"howtos/redisgraph/using-go/index-usinggo":{"id":"howtos/redisgraph/using-go/index-usinggo","title":"How to query Graph data in Redis using Go","description":"RedisGraph is the fastest graph database that processes complex graph operations in real time, 10x \u2013 600x faster than any other graph database. Show how your data is connected through multiple visualization integrations including RedisInsight, Linkurious, and Graphileon. Query graphs using the industry-standard Cypher query language and easily use graph capabilities from application code."},"howtos/redisgraph/using-javascript/index-usingjavascript":{"id":"howtos/redisgraph/using-javascript/index-usingjavascript","title":"How to query Graph data in Redis using JavaScript","description":"RedisGraph is the fastest graph database that processes complex graph operations in real time, 10x \u2013 600x faster than any other graph database. Show how your data is connected through multiple visualization integrations including RedisInsight, Linkuri
1ous, and Graphileon. Query graphs using the industry-standard Cypher query language and easily use graph capabilities from application code."},"howtos/redisgraph/using-python/index-usingpython":{"id":"howtos/redisgraph/using-python/index-usingpython","title":"How to query Graph data in Redis using Python","description":"RedisGraph is the fastest graph database that processes complex graph operations in real time, 10x \u2013 600x faster than any other graph database. Show how your data is connected through multiple visualization integrations including RedisInsight, Linkurious, and Graphileon. Query graphs using the industry-standard Cypher query language and easily use graph capabilities from application code."},"howtos/redisgraph/using-redisinsight/index-usingredisinsight":{"id":"howtos/redisgraph/using-redisinsight/index-usingredisinsight","title":"How to visualize Graph data using RedisInsight","description":"If you\u2019re a Redis user who prefers to use a Graphical User Interface(GUI) for graph queries, then RedisInsight is a right tool for you. It\u2019s 100% free pure desktop Redis GUI that provides easy-to-use browser tools to query, visualize and interactively manipulate graphs. You can add new graphs, run queries and explore the results over the GUI tool."},"howtos/redisgraph/using-ruby/index-usingruby":{"id":"howtos/redisgraph/using-ruby/index-usingruby","title":"How to query Graph data in Redis using Ruby","description":"RedisGraph is the first queryable Property Graph database to use sparse matrices to represent the adjacency matrix in graphs and linear algebra to query the graph."},"howtos/redisgraph/using-rust/index-usingrust":{"id":"howtos/redisgraph/using-rust/index-usingrust","title":"How to query Graph data in Redis using Rust","description":"RedisGraph is the first queryable Property Graph database to use sparse matrices to represent the adjacency matrix"},"howtos/security/index-tls":{"id":"howtos/security/index-tls","title":"How to Use SSL/TLS With Redis Enterprise","description":"Header","sidebar":"docs"},"howtos/shoppingcart/index-shoppingcart":{"id":"howtos/shoppingcart/index-shoppingcart","title":"How to build a Shopping cart app using NodeJS and Redis","description":"It\u2019s hard to imagine an online store without a shopping cart. Almost every online store must have the shopping cart functionality to be able to sell products to customers. In order to build a scalable ecommerce platform, you need a powerful framework and a simple storage system. At times, a lot of developers focu
1s on improving the frontend performance of an ecommerce platform to rectify these things. The real bottleneck, however, remains the slow backend load time."},"howtos/socialnetwork/index-socialnetwork":{"id":"howtos/socialnetwork/index-socialnetwork","title":"How to Build a Social Network Application using Redis Stack and NodeJS","description":"image","sidebar":"docs"},"howtos/solutions/caching-architecture/cache-prefetching/index-cache-prefetching":{"id":"howtos/solutions/caching-architecture/cache-prefetching/index-cache-prefetching","title":"How to use Redis for Cache Prefetching Strategy","description":"What is cache prefetching?","sidebar":"docs"},"howtos/solutions/caching-architecture/common-caching/caching-movie-app":{"id":"howtos/solutions/caching-architecture/common-caching/caching-movie-app","title":"caching-movie-app","description":"The demo application used in the rest of this tutorial showcases a movie application with basic create, read, update, and delete (CRUD) operations."},"howtos/solutions/caching-architecture/common-caching/redis-gears":{"id":"howtos/solutions/caching-architecture/common-caching/redis-gears","title":"redis-gears","description":"What is RedisGears?"},"howtos/solutions/caching-architecture/common-caching/source-code-movie-app":{"id":"howtos/solutions/caching-architecture/common-caching/source-code-movie-app","title":"source-code-movie-app","description":"Below are the commands to clone the source code (frontend and backend) for the application used in this tutorial"},"howtos/solutions/caching-architecture/common-caching/write-behind-vs-write-through":{"id":"howtos/solutions/caching-architecture/common-caching/write-behind-vs-write-through","title":"write-behind-vs-write-through","description":"There are two related write patterns, and the main differences between them are as follows"},"howtos/solutions/caching-architecture/write-behind/index-write-behind":{"id":"howtos/solutions/caching-architecture/write-behind/index-write-behind","title":"How to use Redis for Write-behind Caching","description":"What is write-behind caching?","sidebar":"docs"},"howtos/solutions/caching-architecture/write-through/index-write-through":{"id":"howtos/solutions/caching-architecture/write-through/index-write-through","title":"How to use Redis for Write through caching strategy","description":"What is write-through caching?","sidebar":"docs"},"howtos/solutions/fraud-detection/common-fraud/source-code-tip":{"id":"howtos/solutions/fraud-detection/common-fraud/source-code-tip","title":"source-code-tip","description":"Below is a command to the clone the source code for the application used in this tutorial"},"howtos/solutions/fraud-detection/digital-identity-validation/index-digital-identity-validation":{"id":"howtos/solutions/fraud-detection/digital-identity-validation/index-digital-identity-validation","title":"How to Handle Digital Identity Validation Using Redis","description":"Digital identity validation for fraud detection introduction","sidebar":"docs"},"howtos/solutions/fraud-detection/transaction-risk-scoring/index-transaction-risk-scoring":{"id":"howtos/solutions/fraud-detection/transaction-risk-scoring/index-transaction-risk-scoring","title":"How to use Redis for Transaction risk scoring","description":"What is transaction risk scoring","sidebar":"docs"},"howtos/solutions/geo/common-geo/microservices-ecommerce-geo":{"id":"howtos/solutions/geo/common-geo/microservices-ecommerce-geo","title":"microservices-ecommerce-geo","description":"The e-commerce microservices application consists of a frontend, built using Next.js with TailwindCSS. The application backend uses Node.js. The data is stored in Redis and either MongoDB or PostgreSQL, using Prisma. Below are screenshots showcasing the frontend of the e-commerce app."},"howtos/solutions/geo/common-geo/microservices-source-code-geo":{"id":"howtos/solutions/geo/common-geo/microservices-source-code-geo","title":"microservices-source-code-geo","description":"Below is a command to the clone the source code for the application used in this tutorial"},"howtos/solutions/geo/getting-started-geo/index-geo-search":{"id":"howtos/solutions/geo/getting-started-geo/index-geo-search","title":"Getting Started With Geo Location Search in Redis","description":"What you will learn in this tutorial","sidebar":"docs"},"howtos/solutions/index-solutions":{"id":"howtos/solutions/index-solutions","title":"Solution Tutorials","description":"This page provides a listing of dozens of popular app solution tutorials from Redis.","sidebar":"docs"},"howtos/solutions/microservices/api-gateway-caching/index-solutions-api-gateway-caching":{"id":"howtos/solutions/microservices/api-gateway-caching/index-solutions-api-gateway-caching","title":"How to use Redis for API Gateway Caching","description":"What is API gateway caching?","sidebar":"docs"},"howtos/solutions/microservices/caching/index-solutions-caching":{"id":"howtos/solutions/microservices/caching/index-solutions-caching","title":"How to use Redis for Query Caching","description":"What is query caching?","sidebar":"docs"},"howtos/solutions/microservices/common-data/microservices-arch":{"id":"howtos/solutions/microservices/common-data/microservices-arch","title":"microservices-arch","description":"Lets take a look at the architecture of the demo application:"},"howtos/solutions/microservices/common-data/microservices-arch-with-redis":{"id":"howtos/solutions/microservices/common-data/microservices-arch-with-redis","title":"microservices-arch-with-redis","description":"The e-commerce microservices application discussed in the rest of this tutorial uses the following architecture:"},"howtos/solutions/microservices/common-data/microservices-arch-with-redis-old":{"id":"howtos/solutions/microservices/common-data/microservices-arch-with-redis-old","title":"microservices-arch-with-redis-old","description":"The e-commerce microservices application discussed in the rest of this tutorial uses the following architecture:"},"howtos/solutions/microservices/common-data/microservices-ecommerce":{"id":"howtos/solutions/microservices/common-data/microservices-ecommerce","title":"microservices-ecommerce","description":"The e-commerce microservices application consists of a frontend, built using Next.js with TailwindCSS. The application backend uses Node.js. The data is stored in"},"howtos/solutions/microservices/common-data/microservices-ecommerce-old":{"id":"howtos/solutions/microservices/common-data/microservices-ecommerce-old","title":"microservices-ecommerce-old","description":"The e-commerce microservices application consists of a frontend, built using Next.js with TailwindCSS. The application backend uses Node.js. The data is stored in"},"howtos/solutions/microservices/common-data/microservices-source-code-tip":{"id":"howtos/solutions/microservices/common-data/microservices-source-code-tip","title":"microservices-source-code-tip","de
1scription":"Below is a command to the clone the source code for the application used in this tutorial"},"howtos/solutions/microservices/common-data/microservices-source-code-tip-old":{"id":"howtos/solutions/microservices/common-data/microservices-source-code-tip-old","title":"microservices-source-code-tip-old","description":"Below is a command to the clone the source code for the application used in this tutorial"},"howtos/solutions/microservices/common-data/redis-enterprise":{"id":"howtos/solutions/microservices/common-data/redis-enterprise","title":"redis-enterprise","description":"You can use Redis Cloud as a multi-model primary database. Redis Cloud is a fully managed, highly available, secure, and real-time data platform. It can store data on both RAM or Flash. It also supports Active-Active (multi-zone read and write replicas) on different cloud vendors, providing extreme high availability and scalability. Active-Active offers global scalability while maintaining local speed for database reads and writes."},"howtos/solutions/microservices/cqrs/index-solutions-cqrs":{"id":"howtos/solutions/microservices/cqrs/index-solutions-cqrs","title":"How to Build an E-Commerce App Using Redis with the CQRS Pattern","description":"What is command and query responsibility segregation (CQRS)?","sidebar":"docs"},"howtos/solutions/microservices/interservice-communication/index-solutions-interservice-communication":{"id":"howtos/solutions/microservices/interservice-communication/index-solutions-interservice-communication","title":"Microservices Communication with Redis Streams","description":"What is interservice communication?","sidebar":"docs"},"howtos/solutions/mobile-banking/account-dashboard/index-mb-account-dashboard":{"id":"howtos/solutions/mobile-banking/account-dashboard/index-mb-account-dashboard","title":"Mobile Banking Account Dashboard Using Redis","description":"What is a mobile banking account dashboard?","sidebar":"docs"},"howtos/solutions/mobile-banking/common-mb/additional-resources":{"id":"howtos/solutions/mobile-banking/common-mb/additional-resources","title":"additional-resources","description":"- Redis YouTube channel"},"howtos/solutions/mobile-banking/common-mb/data-seeding":{"id":"howtos/solutions/mobile-banking/common-mb/data-seeding","title":"data-seeding","description":"This application leverages Redis core data structures, JSON, TimeSeries, Search and Query features. The data seeded is later used to show a searchable transaction overview with realtime updates as well as a personal finance management overview with realtime balance and biggest spenders updates."},"howtos/solutions/mobile-banking/common-mb/source-code-tip":{"id":"howtos/solutions/mobile-banking/common-mb/source-code-tip","title":"source-code-tip","description":"Below is a command to the clone the source code for the application used in this tutorial"},"howtos/solutions/mobile-banking/session-management/index-mb-session-management":{"id":"howtos/solutions/mobile-banking/session-management/index-mb-session-management","title":"Mobile Banking Authentication and Session Storage Using Redis","description":"What is authentication and session storage for mobile banking?","sidebar":"docs"},"howtos/solutions/real-time-inventory/available-to-promise/api/decrement-many-skus":{"id":"howtos/solutions/real-time-inventory/available-to-promise/api/decrement-many-skus","title":"decrement-many-skus","description":"The code that follows shows an example API request and response for decrementManySKUs activity."},"howtos/solutions/real-time-inventory/available-to-promise/api/decrement-sku":{"id":"howtos/solutions/real-time-inventory/available-to-promise/api/decrement-sku","title":"decrement-sku","description":"The code that follows shows an example API request and response for decrementSKU activity."},"howtos/solutions/real-time-inventory/available-to-promise/api/increment-sku":{"id":"howtos/solutions/real-time-inventory/available-to-promise/api/increment-sku","title":"increment-sku","description":"The code that follows shows an example API request and response for incrementSKU activity."},"howtos/solutions/real-time-inventory/available-to-promise/api/retrieve-many-skus":{"id":"howtos/solutions/real-time-inventory/available-to-promise/api/retrieve-many-skus","title":"retrieve-many-skus","description":"The code that follows shows an example API request and response for retrieveManySKUs activity."},"howtos/solutions/real-time-inventory/available-to-promise/api/retrieve-sku"
1:{"id":"howtos/solutions/real-time-inventory/available-to-promise/api/retrieve-sku","title":"retrieve-sku","description":"The code that follows shows an example API request and response for retrieveSKU activity."},"howtos/solutions/real-time-inventory/available-to-promise/api/update-sku":{"id":"howtos/solutions/real-time-inventory/available-to-promise/api/update-sku","title":"update-sku","description":"The code that follows shows an example API request and response for updateSKU activity."},"howtos/solutions/real-time-inventory/available-to-promise/index-rti-available-to-promise":{"id":"howtos/solutions/real-time-inventory/available-to-promise/index-rti-available-to-promise","title":"Available to Promise in Real-time Inventory Using Redis","description":"What is available-to-promise (ATP)?","sidebar":"docs"},"howtos/solutions/real-time-inventory/common-rti/additional-resources":{"id":"howtos/solutions/real-time-inventory/common-rti/additional-resources","title":"additional-resources","description":"- Redis YouTube channel"},"howtos/solutions/real-time-inventory/common-rti/customer-proofs":{"id":"howtos/solutions/real-time-inventory/common-rti/customer-proofs","title":"customer-proofs","description":"- Redis Cloud on Google Cloud Platform enables Ulta Beauty to build a \u201cdigital store of the future\u201d"},"howtos/solutions/real-time-inventory/common-rti/rti-challenges":{"id":"howtos/solutions/real-time-inventory/common-rti/rti-challenges","title":"rti-challenges","description":"- Over and under-stocking: While adopting a multi-channel business model (online & in store), lack of inventory visibility results in over and under-stocking of inventory in different regions and stores."},"howtos/solutions/real-time-inventory/common-rti/source-code-tip":{"id":"howtos/solutions/real-time-inventory/common-rti/source-code-tip","title":"source-code-tip","description":"Below is a command to the clone the source code for the application used in this tutorial"},"howtos/solutions/real-time-inventory/local-inventory-search/api/inventory-search":{"id":"howtos/solutions/real-time-inventory/local-inventory-search/api/inventory-search","title":"inventory-search","description":"The code that follows shows an example API request and response for the inventorySearch API:"},"howtos/solutions/real-time-inventory/local-inventory-search/api/inventory-search-with-distance":{"id":"howtos/solutions/real-time-inventory/local-inventory-search/api/inventory-search-with-distance","title":"inventory-search-with-distance","description":"The code that follows shows an example API request and response for inventorySearchWithDistance API:"},"howtos/solutions/real-time-inventory/local-inventory-search/index-rti-local-inventory-search":{"id":"howtos/solutions/real-time-inventory/local-inventory-search/index-rti-local-inventory-search","title":"Real-time Local Inventory Search Using Redis","description":"What is real-time local inventory search?","sidebar":"docs"},"howtos/solutions/triggers-and-functions/common-tf/microservices-ecommerce-tf":{"id":"howtos/solutions/triggers-and-functions/common-tf/microservices-ecommerce-tf","title":"microservices-ecommerce-tf","description":"The e-commerce microservices application consists of a frontend, built using Next.js with TailwindCSS. The application backend uses Node.js. The data is stored in Redis and either MongoDB or PostgreSQL, using Prisma. Below are screenshots showcasing the frontend of the e-commerce app."},"howtos/solutions/triggers-and-functions/common-tf/microservices-source-code-tf":{"id":"howtos/solutions/triggers-and-functions/common-tf/microservices-source-code-tf","title":"microservices-source-code-tf","description":"Below is a command to the clone the source code for the application used in this tutorial"},"howtos/solutions/triggers-and-functions/getting-started-tf/index-triggers-and-functions":{"id":"howtos/solutions/triggers-and-functions/getting-started-tf/index-triggers-and-functions","title":"Getting Started With Triggers and Functions in Redis","description":"What you will learn in this tutorial","sidebar":"docs"},"howtos/solutions/vector/common-ai/microservices-ecommerce-ai":{"id":"howtos/solutions/vector/common-ai/microservices-ecommerce-ai","title":"microservices-ecommerce-ai","description":"The e-commerce microservices application consists of a frontend, built using Next.js with TailwindCSS. The application backend uses Node.js. The data is stored in Redis and either MongoDB or PostgreSQL, using Prisma. Below are screenshots showcasing the frontend of the e-commerce app."},"howtos/solutions/vector/common-ai/microservices-source-code-ai":{"id":"howtos/solutions/vector/common-ai/microservices-source-code-ai","title":"microservices-source-code-ai","description":"Below is a command to the clone the source code for the application used in this tutorial"},"howtos/solutions/vector/gen-ai-chatbot/index-solutions-gen-ai-chatbot":{"i
1d":"howtos/solutions/vector/gen-ai-chatbot/index-solutions-gen-ai-chatbot","title":"How to Build a GenAI Chatbot Using LangChain and Redis","description":"What you will learn in this tutorial","sidebar":"docs"},"howtos/solutions/vector/getting-started-vector/index-getting-started-vector":{"id":"howtos/solutions/vector/getting-started-vector/index-getting-started-vector","title":"How to Perform Vector Similarity Search Using Redis in NodeJS","description":"What you Will learn in this tutorial","sidebar":"docs"},"howtos/solutions/vector/image-summary-search/index-image-summary-search":{"id":"howtos/solutions/vector/image-summary-search/index-image-summary-search","title":"Semantic Image Based Queries Using LangChain (OpenAI) and Redis","description":"What you will learn in this tutorial","sidebar":"docs"},"howtos/solutions/vector/semantic-text-search/index-semantic-text-search":{"id":"howtos/solutions/vector/semantic-text-search/index-semantic-text-search","title":"Semantic Text Search Using LangChain (OpenAI) and Redis","description":"What you will learn in this tutorial","sidebar":"docs"},"howtos/solutions/vector/video-qa/index-video-qa":{"id":"howtos/solutions/vector/video-qa/index-video-qa","title":"Building an AI-Powered Video Q&A Application with Redis and LangChain","description":"What you will learn in this tutorial","sidebar":"docs"},"modules/index-modules":{"id":"modules/index-modules","title":"index-modules","description":"id: index-modules"},"modules/redisbloom/index-redisbloom":{"id":"modules/redisbloom/index-redisbloom","title":"Probabilistic Data Structures","description":"Redis Stack provides additional probabilistic data structures. It allows for solving computer science problems in a constant memory space with extremely fast processing and a low error rate. It supports scalable Bloom and Cuckoo filters to determine (with a specified degree of certainty) whether an item is present or absent from a collection."},"modules/redisearch/index-redisearch":{"id":"modules/redisearch/index-redisearch","title":"Redis Search","description":"Redis Search is a powerful text search and secondary indexing engine, built on top of Redis as a Redis module. Written in C, Redis Search is extremely fast compared to other open-source search engines. It implements multiple data types and commands that fundamentally change what you can do with Redis. Redis Search supports capabilities for search and filtering such as geo-spatial queries, retrieving only IDs (instead of whole documents), and custom document scoring. Aggregations can combine map, filter, and reduce/group-by operations in custom pipelines that run across millions of elements in an instant."},"modules/redisgears/index-redisgears":{"id":"modules/redisgears/index-redisgears","title":"Triggers and Functions","description":""},"modules/redisgraph/index-redisgraph":{"id":"modules/redisgraph/index-redisgraph","title":"RedisGraph","description":"RedisGraph is a Redis module that enables enterprises to process any kind of connected data much faster than with traditional relational or existing graph databases. RedisGraph implements a unique data storage and processing solution (with sparse-adjacency matrices and GraphBLAS) to deliver the fastest and most efficient way to store, manage, and process connected data in graphs. With RedisGraph, you can process complex transactions 10 - 600 times faster than with traditional graph solutions while using 50 - 60% less memory resources than other graph databases!"},"modules/redisjson/index-redisjson":{"id":"modules/redisjson/index-redisjson","title":"Redis JSON","description":"Redis Stack provides in-memory manipulation of JSON documents at high velocity and volume. With Redis Stack, you can natively store document data in a hierarchical, tree-like format to scale and query documents efficiently, significantly improving performance over storing and manipulating JSON with Lua scripts and core Redis data structures."},"modules/redistimeseries/index-redistimeseries":{"id":"modules/redistimeseries/index-redistimeseries","title":"Redis Time Series","description":"RedisTimeseries is a Redis module that enhances your experience managing time-series data with Redis. It simplifies the use of Redis for time-series use cases such as internet of things (IoT) data, stock prices, and telemetry. With Redis Time Series, you can ingest and query millions of samples and events at the speed of Redis. Advanced tooling such as downsampling and aggregation ensure a small memory footprint without impacting performance. Use a variety of queries for visualization and monitoring with built-in connectors to popular monitoring tools like Grafana, Prometheus, and Telegraf."},"operate/observability/datadog/index-datadog":{"id":"operate/observability/datadog/index-datadog","title":"Redis Enterprise Observability with Datadog","description":"Datadog","sidebar":"docs"},"operate/observability/redisdatasource/index-redisdatasource":{"id":"operate/observability/redisdatasource/index-redisdatasource","title":"How to add Redis as a datasource in Grafana and build customize dashboards for Analytics","description":"The Redis Data Source for Grafana is a plug-in that allows users to connect to the Redis database and build dashboards in Grafana to easily monitor Redis and application data. It provides an out-of-the-box predefined dashboard, but also lets you build customized dashboards tuned to your specific needs.","sidebar":"docs"},"operate/orchestration/docker/images/README":{"id":"operate/orchestration/docker/images/README","title":"List of Images","de
1scription":""},"operate/orchestration/docker/index-docker":{"id":"operate/orchestration/docker/index-docker","title":"How to Deploy and Run Redis in a Docker container","description":"<Tabs","sidebar":"docs"},"operate/orchestration/index-orchestration":{"id":"operate/orchestration/index-orchestration","title":"Orchestration","description":"The following links show you with the various ways to connect your containerized workloads to Redis.","sidebar":"docs"},"operate/orchestration/kubernetes-gke/index-kubernetes-gke":{"id":"operate/orchestration/kubernetes-gke/index-kubernetes-gke","title":"Create a Redis database on Google Kubernetes Engine","description":"Step 1. Prerequisites","sidebar":"docs"},"operate/orchestration/kubernetes-operator/index-kubernetes-operator":{"id":"operate/orchestration/kubernetes-operator/index-kubernetes-operator","title":"Kubernetes Operator: What It Is and Why You Should Really Care About It","description":"My Image","sidebar":"docs"},"operate/orchestration/nodejs-nginx-redis/index-nodejs-nginx-redis":{"id":"operate/orchestration/nodejs-nginx-redis/index-nodejs-nginx-redis","title":"How to build and run a Node.js application using Nginx, Docker and Redis","description":"Thanks to Node.js - Millions of frontend developers that write JavaScript for the browser are now able to write the server-side code in addition to the client-side code without the need to learn a completely different language. Node.js is a free, open-sourced, cross-platform JavaScript run-time environment. It is capable to handle thousands of concurrent connections with a single server without introducing the burden of managing thread concurrency, which could be a significant source of bugs.","sidebar":"docs"},"operate/provisioning/terraform/index-terraform":{"id":"operate/provisioning/terraform/index-terraform","title":"How to Deploy and Manage Redis Databases on AWS Using Terraform","description":"terraform","sidebar":"docs"},"operate/redis-at-scale/course-wrap-up/index-wrap-up":{"id":"operate/redis-at-scale/course-wrap-up/index-wrap-up","title":"Conclusion of Running Redis at Scale","description":"You\'ve made it! Thanks again for trying out this course on the Redis Developer Site. We hope you\'ve enjoyed it, and we hope it\'s provided you with the tools you need to successfully scale Redis with your applications.","sidebar":"docs"},"operate/redis-at-scale/high-availability/basic-replication/index-basic-replication":{"id":"operate/redis-at-scale/high-availability/basic-replication/index-basic-replication","title":"3.1 Basic Replication","description":"<iframe","sidebar":"docs"},"operate/redis-at-scale/high-availability/exercise-1/index-exercise-1":{"id":"operate/redis-at-scale/high-availability/exercise-1/index-exercise-1","title":"3.2 Exercise - Enabling Basic Replication","description":"Step 1","sidebar":"docs"},"operate/redis-at-scale/high-availability/exercise-2/index-exercise-2":{"id":"operate/redis-at-scale/high-availability/exercise-2/index-exercise-2","title":"3.4 Exercise - Sentinel Hands-on","description":"Step 1","sidebar":"docs"},"operate/redis-at-scale/high-availability/index-high-availability":{"id":"operate/redis-at-scale/high-availability/index-high-availability","title":"Ensuring High Availability in Redis","description":"Hello World!"},"operate/redis-at-scale/high-availability/introduction/index-introduction":{"id":"operate/redis-at-scale/high-availability/introduction/index-introduction","title":"3.0 Introduction to High Availability","description":"<iframe","sidebar":"docs"},"operate/redis-at-scale/high-availability/understanding-sentinels/index-understanding-sentinels":{"id":"operate/redis-at-scale/high-availability/understanding-sentinels/index-understanding-sentinels","title":"3.3 Understanding Sentinels","description":"In the beginning of this unit, we learned that we can\u2019t have high availability without replication and automatic failover. We covered replication in the previous two chapters, and now we\u2019ll explain Sentinel - a tool that provides the automatic failover.","sidebar":"docs"},"operate/redis-at-scale/index-redis-at-scale":{"id":"operate/redis-at-scale/index-redis-at-scale","title":"Introduction to Running Redis at Scale","description":"Welcome","sidebar":"docs"},"operate/redis-at-scale/observability/data-points-in-redis/index-data-points-in-redis":{"id":"operate/redis-at-scale/observability/data-points-in-redis/index-data-points-in-redis","title":"5.1 Data points in Redis","description":"There are several Redis metrics that can be viewed through redis-cli.","sidebar":"docs"},"operate/redis-at-scale/observability/exercise-1/index-exercise-1":{"id":"operate/redis-at-scale/observability/exercise-1/index-exercise-1","title":"5.2 Getting Redis Statistics","description":"Clone this repo if you have not already//github.com/redislabs-training/ru301","sidebar":"docs"},"operate/redis-at-scale/observability/identifying-issues/index-identifying-issues":{"id":"operate/redis-at-scale/observability/identifying-issues/index-identifying-issues","title":"5.3 Identifying Issues","description":"Besides the metrics from the data points from info, memory and the latency framework in the sections above, you may 
1need to pull data from other sources when troubleshooting.","sidebar":"docs"},"operate/redis-at-scale/observability/index-observability":{"id":"operate/redis-at-scale/observability/index-observability","title":"Ensuring Observability in Redis","description":"Hello World! Observability"},"operate/redis-at-scale/observability/introduction/index-introduction":{"id":"operate/redis-at-scale/observability/introduction/index-introduction","title":"5.0 Introduction to Observability","description":"<iframe","sidebar":"docs"},"operate/redis-at-scale/persistence-and-durability/exercise/index-exercise":{"id":"operate/redis-at-scale/persistence-and-durability/exercise/index-exercise","title":"2.2 Exercise: Saving a Snapshot","description":"As we learned in the previous unit, Redis will save a snapshot of your database every hour if at least one key has changed, every five minutes if at least 100 keys have changed, or every 60 seconds if at least 10000 keys have changed.","sidebar":"docs"},"operate/redis-at-scale/persistence-and-durability/index-persistence-and-durability":{"id":"operate/redis-at-scale/persistence-and-durability/index-persistence-and-durability","title":"Ensuring Persistence & Durability in Redis","description":"Hello World! Persistence & Durability"},"operate/redis-at-scale/persistence-and-durability/introduction/index-introduction":{"id":"operate/redis-at-scale/persistence-and-durability/introduction/index-introduction","title":"2.0 Introduction to Persistence and Durability","description":"<iframe","sidebar":"docs"},"operate/redis-at-scale/persistence-and-durability/persistence-options-in-redis/index-persistence-options-in-redis":{"id":"operate/redis-at-scale/persistence-and-durability/persistence-options-in-redis/index-persistence-options-in-redis","title":"2.1 Persistence options in Redis","description":"<iframe","sidebar":"docs"},"operate/redis-at-scale/scalability/clustering-in-redis/index-clustering-in-redis":{"id":"operate/redis-at-scale/scalability/clustering-in-redis/index-clustering-in-redis","title":"4.0 Clustering In Redis","description":"<iframe","sidebar":"docs"},"operate/redis-at-scale/scalability/exercise-1/index-exercise-1":{"id":"operate/redis-at-scale/scalability/exercise-1/index-exercise-1","title":"4.1 Exercise - Creating a Redis Cluster","description":"Step 1","sidebar":"docs"},"operate/redis-at-scale/scalability/index-scalability":{"id":"operate/redis-at-scale/scalability/index-scalability","title":"Ensuring Scalability in Redis","description":"Hello World! Scalability"},"operate/redis-at-scale/scalability/redis-cli-with-redis-cluster/index-redis-cli-with-redis-cluster":{"id":"operate/redis-at-scale/scalability/redis-cli-with-redis-cluster/index-redis-cli-with-redis-cluster","title":"4.2 Using Redis-CLI with a Redis Cluster","description":"When you use redis-cli to connect to a shard of a Redis Cluster, you are connected to that shard only, and cannot access data from other shards. If you try to access keys from the wrong shard, you will get a MOVED error.","sidebar":"docs"},"operate/redis-at-scale/scalability/redis-cluster-and-client-libraries/index-redis-cluster-and-client-libraries":{"id":"operate/redis-at-scale/scalability/redis-cluster-and-client-libraries/index-redis-cluster-and-client-libraries","title":"4.3 Redis Cluster and Client Libraries","description":"To use a client library with Redis Cluster, the client libraries need to be cluster-aware. Clients that support Redis Cluster typically feature a special connection module for managing connections to the cluster. The process that some of the better client libraries follow usually goes like this:","sidebar":"docs"},"operate/redis-at-scale/talking-to-redis/client-performance-improvements/index-client-performance-improvements":{"id":"operate/redis-at-scale/talking-to-redis/client-performance-improvements/index-client-performance-improvements","title":"1.4 Client Performance Improvements","description":"Connection management - Pooling","sidebar":"docs"},"operate/redis-at-scale/talking-to-redis/command-line-tool/index-command-line-tool":{"id":"operate/redis-at-scale/talking-to-redis/command-line-tool/index-command-line-tool","title":"1.1 The Command Line Tool: Redis-CLI","description":"<iframe","sidebar":"docs"},"operate/redis-at-scale/talking-to-redis/configuring-a-redis-server/index-configuring-a-redis-server":{"id":"operate/redis-at-scale/talking-to-redis/configuring-a-redis-server/index-configuring-a-redis-server","title":"1.2 Configuring a Redis Server","description":"The self-documented Redis configuration file called redis.conf has been mentioned many times as an example of well written documentation. In this file you can find all possible Redis configuration directives, together with a detailed description of what they do and their default values.","sidebar":"docs"},"operate/redis-at-scale/talking-to-redis/index-talking-to-redis":{"id":"operate/redis-at-scale/talking-to-redis/index-talking-to-redis","title":"Talking to Redis","description":"<iframe"},"operate/redis-at-scale/talking-to-redis/initial-tuning/index-initial-tuning":{"id":"operate/redis-at-scale/talking-to-redis/initial-tuning/index-initial-tuning","title":"1.5 Initial Tuning","description":"We love Redis because it\u2019s fast (and fun!), so as we begin to consider scaling out Redis, we first want to make sure we\'ve done everything we can to maximize its performance.","sidebar":"docs"},"operate/redis-at-scale/talking-to-redis/redis-clients/index-redis-clients":{"id":"operate/redis-at-scale/talking-to-redis/redis-clients/index-redis-clients","title":"1.3 Redis Clients","description":"<iframe","sidebar":"docs"},"operate/redis-at-scale/talking-to-redis/redis-server-overview/index-redis-server-overview":{"id":"operate/redis-at-scale/talking-to-redis/redis-server-overview/index-redis-server-overview","title":"1.0 Redis Server Overview","description":"<iframe","sidebar":"docs"},"tools/index-tools":{"id":"tools/index-tools","title":"index-tools","description":"id: index-tools"},"tools/riot/index-riot":{"id":"tools/riot/index-riot","title":"RIOT","description":"Redis Input/Output Tools (RIOT) is a set of import/export command line utilities for Redis:"},"tutorials/redisearch/getting-started/index-redisearch-getting-started":{"id":"tutorials/redisearch/getting-started/index-redisearch-getting-started","title":"Redis Search Getting Started","description":"A tutorial that guide developer to learn about indexing and querying Redis database using Redis Search"}}}')}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.