CINXE.COM

Redis - The Real-time Data Platform

<!doctype html> <html lang="en"> <head> <meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' /> <style>img:is([sizes="auto" i], [sizes^="auto," i]) { contain-intrinsic-size: 3000px 1500px }</style> <!-- This site is optimized with the Yoast SEO plugin v24.1 - https://yoast.com/wordpress/plugins/seo/ --> <title>Redis - The Real-time Data Platform</title> <meta name="description" content="Developers love Redis. Unlock the full potential of the Redis database with Redis Enterprise and start building blazing fast apps." /> <link rel="canonical" href="https://redis.io/" /> <meta property="og:locale" content="en_US" /> <meta property="og:type" content="website" /> <meta property="og:title" content="Redis - The Real-time Data Platform" /> <meta property="og:description" content="Developers love Redis. Unlock the full potential of the Redis database with Redis Enterprise and start building blazing fast apps." /> <meta property="og:url" content="https://redis.io/" /> <meta property="og:site_name" content="Redis" /> <meta property="article:publisher" content="https://www.facebook.com/Redisinc" /> <meta property="article:modified_time" content="2025-04-04T00:24:06+00:00" /> <meta property="og:image" content="https://redis.io/wp-content/uploads/2024/04/Redis_Website_PreviewCard_920x612px.png" /> <meta property="og:image:width" content="920" /> <meta property="og:image:height" content="612" /> <meta property="og:image:type" content="image/png" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:site" content="@Redisinc" /> <script type="application/ld+json" class="yoast-schema-graph">{"@context":"https://schema.org","@graph":[{"@type":"WebPage","@id":"https://redis.io/","url":"https://redis.io/","name":"Redis - The Real-time Data Platform","isPartOf":{"@id":"https://redis.io/#website"},"primaryImageOfPage":{"@id":"https://redis.io/#primaryimage"},"image":{"@id":"https://redis.io/#primaryimage"},"thumbnailUrl":"https://redis.io/wp-content/uploads/2024/04/Redis_Website_PreviewCard_920x612px.png","datePublished":"2023-06-05T21:00:00+00:00","dateModified":"2025-04-04T00:24:06+00:00","description":"Developers love Redis. Unlock the full potential of the Redis database with Redis Enterprise and start building blazing fast apps.","breadcrumb":{"@id":"https://redis.io/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https://redis.io/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https://redis.io/#primaryimage","url":"https://redis.io/wp-content/uploads/2024/04/Redis_Website_PreviewCard_920x612px.png","contentUrl":"https://redis.io/wp-content/uploads/2024/04/Redis_Website_PreviewCard_920x612px.png","width":920,"height":612,"caption":"logo card"},{"@type":"BreadcrumbList","@id":"https://redis.io/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home"}]},{"@type":"WebSite","@id":"https://redis.io/#website","url":"https://redis.io/","name":"Redis","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://redis.io/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}</script> <!-- / Yoast SEO plugin. --> <link rel='dns-prefetch' href='//code.jquery.com' /> <link rel='dns-prefetch' href='//redis.io' /> <link rel='dns-prefetch' href='//cdn.jsdelivr.net' /> <link rel='stylesheet' id='wp-block-library-css' href='https://redis.io/wp-includes/css/dist/block-library/style.min.css?ver=6.7.1' type='text/css' media='all' /> <style id='wp-block-library-theme-inline-css' type='text/css'> .wp-block-audio :where(figcaption){color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-audio :where(figcaption){color:#ffffffa6}.wp-block-audio{margin:0 0 1em}.wp-block-code{border:1px solid #ccc;border-radius:4px;font-family:Menlo,Consolas,monaco,monospace;padding:.8em 1em}.wp-block-embed :where(figcaption){color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-embed :where(figcaption){color:#ffffffa6}.wp-block-embed{margin:0 0 1em}.blocks-gallery-caption{color:#555;font-size:13px;text-align:center}.is-dark-theme .blocks-gallery-caption{color:#ffffffa6}:root :where(.wp-block-image figcaption){color:#555;font-size:13px;text-align:center}.is-dark-theme :root :where(.wp-block-image figcaption){color:#ffffffa6}.wp-block-image{margin:0 0 1em}.wp-block-pullquote{border-bottom:4px solid;border-top:4px solid;color:currentColor;margin-bottom:1.75em}.wp-block-pullquote cite,.wp-block-pullquote footer,.wp-block-pullquote__citation{color:currentColor;font-size:.8125em;font-style:normal;text-transform:uppercase}.wp-block-quote{border-left:.25em solid;margin:0 0 1.75em;padding-left:1em}.wp-block-quote cite,.wp-block-quote footer{color:currentColor;font-size:.8125em;font-style:normal;position:relative}.wp-block-quote:where(.has-text-align-right){border-left:none;border-right:.25em solid;padding-left:0;padding-right:1em}.wp-block-quote:where(.has-text-align-center){border:none;padding-left:0}.wp-block-quote.is-large,.wp-block-quote.is-style-large,.wp-block-quote:where(.is-style-plain){border:none}.wp-block-search .wp-block-search__label{font-weight:700}.wp-block-search__button{border:1px solid #ccc;padding:.375em .625em}:where(.wp-block-group.has-background){padding:1.25em 2.375em}.wp-block-separator.has-css-opacity{opacity:.4}.wp-block-separator{border:none;border-bottom:2px solid;margin-left:auto;margin-right:auto}.wp-block-separator.has-alpha-channel-opacity{opacity:1}.wp-block-separator:not(.is-style-wide):not(.is-style-dots){width:100px}.wp-block-separator.has-background:not(.is-style-dots){border-bottom:none;height:1px}.wp-block-separator.has-background:not(.is-style-wide):not(.is-style-dots){height:2px}.wp-block-table{margin:0 0 1em}.wp-block-table td,.wp-block-table th{word-break:normal}.wp-block-table :where(figcaption){color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-table :where(figcaption){color:#ffffffa6}.wp-block-video :where(figcaption){color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-video :where(figcaption){color:#ffffffa6}.wp-block-video{margin:0 0 1em}:root :where(.wp-block-template-part.has-background){margin-bottom:0;margin-top:0;padding:1.25em 2.375em} </style> <style id='filebird-block-filebird-gallery-style-inline-css' type='text/css'> ul.filebird-block-filebird-gallery{margin:auto!important;padding:0!important;width:100%}ul.filebird-block-filebird-gallery.layout-grid{display:grid;grid-gap:20px;align-items:stretch;grid-template-columns:repeat(var(--columns),1fr);justify-items:stretch}ul.filebird-block-filebird-gallery.layout-grid li img{border:1px solid #ccc;box-shadow:2px 2px 6px 0 rgba(0,0,0,.3);height:100%;max-width:100%;-o-object-fit:cover;object-fit:cover;width:100%}ul.filebird-block-filebird-gallery.layout-masonry{-moz-column-count:var(--columns);-moz-column-gap:var(--space);column-gap:var(--space);-moz-column-width:var(--min-width);columns:var(--min-width) var(--columns);display:block;overflow:auto}ul.filebird-block-filebird-gallery.layout-masonry li{margin-bottom:var(--space)}ul.filebird-block-filebird-gallery li{list-style:none}ul.filebird-block-filebird-gallery li figure{height:100%;margin:0;padding:0;position:relative;width:100%}ul.filebird-block-filebird-gallery li figure figcaption{background:linear-gradient(0deg,rgba(0,0,0,.7),rgba(0,0,0,.3) 70%,transparent);bottom:0;box-sizing:border-box;color:#fff;font-size:.8em;margin:0;max-height:100%;overflow:auto;padding:3em .77em .7em;position:absolute;text-align:center;width:100%;z-index:2}ul.filebird-block-filebird-gallery li figure figcaption a{color:inherit} </style> <style id='classic-theme-styles-inline-css' type='text/css'> /*! This file is auto-generated */ .wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none} </style> <style id='global-styles-inline-css' type='text/css'> :root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--color--gray: #6d7278;--wp--preset--color--dark-gray: #494c4d;--wp--preset--color--light-gray: #a2a8a8;--wp--preset--color--ui: #dfdfdf;--wp--preset--color--ui-light: #f8f8f8;--wp--preset--color--cloudy: #e6e5e5;--wp--preset--color--smoke: #a7a7a7;--wp--preset--color--chill: #e3ebed;--wp--preset--color--ice: #f7f9fc;--wp--preset--color--navy: #354253;--wp--preset--color--light-navy: #5a697d;--wp--preset--color--red: #CD5D57;--wp--preset--color--orange: #CF5815;--wp--preset--color--dark-orange: #E98125;--wp--preset--color--neon-blue: #1969FF;--wp--preset--color--neon-blue-light: #10BBFE;--wp--preset--color--neon-green: #79e5a6;--wp--preset--color--teal: #14708D;--wp--preset--color--teal-light: #1CA9AB;--wp--preset--color--sky: #54bcfd;--wp--preset--color--baby: #8aa1ee;--wp--preset--color--purple: #5961ff;--wp--preset--color--purple-dark: #282550;--wp--preset--color--violet: #3e41a0;--wp--preset--color--light-violet: #465282;--wp--preset--color--brown: #726a5c;--wp--preset--color--gold: #777436;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 14px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 24px;--wp--preset--font-size--x-large: 42px;--wp--preset--font-size--normal: 18px;--wp--preset--font-size--huge: 36px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} :where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;} :where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;} :root :where(.wp-block-pullquote){font-size: 1.5em;line-height: 1.6;} </style> <link rel='prefetch' as='style' id='wp-pagenavi-css' href='https://redis.io/wp-content/plugins/wp-pagenavi/pagenavi-css.css?ver=2.70' type='text/css' media='all' /> <link rel='stylesheet' id='child-theme-style-css' href='https://redis.io/wp-content/themes/redislabs-glide/assets/dist/css/main.min.css?ver=1744059185' type='text/css' media='all' /> <link rel='stylesheet' id='home-css' href='https://redis.io/wp-content/themes/wpx/assets/dist/css/critical/homepage.css?ver=1744059183' type='text/css' media='all' /> <script type="text/javascript" src="https://code.jquery.com/jquery-3.6.4.min.js?ver=3.6.5" id="jquery-js"></script> <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/chart.js?ver=4.4.3" id="chartjs-scripts-js"></script> <script type="text/javascript" src="https://redis.io/wp-content/themes/redislabs-glide/assets/dist/js/benchmark.min.js?ver=1744059183" id="benchmark-scripts-js"></script> <link rel="https://api.w.org/" href="https://redis.io/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://redis.io/wp-json/wp/v2/pages/520" /><link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://redis.io/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fredis.io%2F" /> <link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://redis.io/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fredis.io%2F&#038;format=xml" /> <!-- Stream WordPress user activity plugin v4.0.2 --> <!-- Google Tag Manager --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-TKZ6J9R');</script> <!-- End Google Tag Manager --> <meta charset="utf-8"> <meta http-equiv="x-ua-compatible" content="ie=edge"><script type="text/javascript">(window.NREUM||(NREUM={})).init={ajax:{deny_list:["bam.nr-data.net"]}};(window.NREUM||(NREUM={})).loader_config={licenseKey:"NRJS-1fedf62d6f1beddfa04",applicationID:"650495667"};;/*! For license information please see nr-loader-rum-1.286.0.min.js.LICENSE.txt */ (()=>{var e,t,r={8122:(e,t,r)=>{"use strict";r.d(t,{a:()=>i});var n=r(944);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.R)(3);if(!t||"object"!=typeof t)return(0,n.R)(4);const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),o=0===Object.keys(r).length?e:r;for(let a in o)if(void 0!==e[a])try{if(null===e[a]){r[a]=null;continue}Array.isArray(e[a])&&Array.isArray(t[a])?r[a]=Array.from(new Set([...e[a],...t[a]])):"object"==typeof e[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555:(e,t,r)=>{"use strict";r.d(t,{fn:()=>s,x1:()=>c});var n=r(384),i=r(8122);const o={beacon:n.NT.beacon,errorBeacon:n.NT.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0},a={};function s(e){try{const t=function(e){if(!e)throw new Error("All info objects require an agent identifier!");if(!a[e])throw new Error("Info for ".concat(e," was never set"));return a[e]}(e);return!!t.licenseKey&&!!t.errorBeacon&&!!t.applicationID}catch(e){return!1}}function c(e,t){if(!e)throw new Error("All info objects require an agent identifier!");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r&&(r.info=a[e])}},5217:(e,t,r)=>{"use strict";r.d(t,{gD:()=>h,xN:()=>m});r(860).K7.genericEvents;const n="experimental.marks",i="experimental.measures",o="experimental.resources",a=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var s=r(2614),c=r(944),u=r(384),d=r(8122);const l="[data-nr-mask]",f=()=>{const e={feature_flags:[],experimental:{marks:!1,measures:!1,resources:!1},mask_selector:"*",block_selector:"[data-nr-block]",mask_input_options:{color:!1,date:!1,"datetime-local":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,autoStart:!0},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},get feature_flags(){return e.feature_flags},set feature_flags(t){e.feature_flags=t},generic_events:{enabled:!0,autoStart:!0},harvest:{interval:30},jserrors:{enabled:!0,autoStart:!0},logging:{enabled:!0,autoStart:!0},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,autoStart:!0},performance:{get capture_marks(){return e.feature_flags.includes(n)||e.experimental.marks},set capture_marks(t){e.experimental.marks=t},get capture_measures(){return e.feature_flags.includes(i)||e.experimental.measures},set capture_measures(t){e.experimental.measures=t},capture_detail:!0,resources:{get enabled(){return e.feature_flags.includes(o)||e.experimental.resources},set enabled(t){e.experimental.resources=t},asset_types:[],first_party_domains:[],ignore_newrelic:!0}},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:s.wk,inactiveMs:s.BB},session_replay:{autoStart:!0,enabled:!1,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inline_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){a(t)?e.mask_selector="".concat(t,",").concat(l):""===t||null===t?e.mask_selector=l:(0,c.R)(5,t)},get block_class(){return"nr-block"},get ignore_class(){return"nr-ignore"},get mask_text_class(){return"nr-mask"},get block_selector(){return e.block_selector},set block_selector(t){a(t)?e.block_selector+=",".concat(t):""!==t&&(0,c.R)(6,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&"object"==typeof t?e.mask_input_options={...t,password:!0}:(0,c.R)(7,t)}},session_trace:{enabled:!0,autoStart:!0},soft_navigations:{enabled:!0,autoStart:!0},spa:{enabled:!0,autoStart:!0},ssl:void 0,user_actions:{enabled:!0,elementAttributes:["id","className","tagName","type"]}}},g={},p="All configuration objects require an agent identifier!";function m(e,t){if(!e)throw new Error(p);g[e]=(0,d.a)(t,f());const r=(0,u.nY)(e);r&&(r.init=g[e])}function h(e,t){if(!e)throw new Error(p);var r=function(e){if(!e)throw new Error(p);if(!g[e])throw new Error("Configuration for ".concat(e," was never set"));return g[e]}(e);if(r){for(var n=t.split("."),i=0;i<n.length-1;i++)if("object"!=typeof(r=r[n[i]]))return;r=r[n[n.length-1]]}return r}},3371:(e,t,r)=>{"use strict";r.d(t,{V:()=>f,f:()=>l});var n=r(8122),i=r(384),o=r(6154),a=r(9324);let s=0;const c={buildEnv:a.F3,distMethod:a.Xs,version:a.xv,originTime:o.WN},u={customTransaction:void 0,disabled:!1,isolatedBacklog:!1,loaderType:void 0,maxBytes:3e4,onerror:void 0,ptid:void 0,releaseIds:{},appMetadata:{},session:void 0,denyList:void 0,timeKeeper:void 0,obfuscator:void 0,harvester:void 0},d={};function l(e){if(!e)throw new Error("All runtime objects require an agent identifier!");if(!d[e])throw new Error("Runtime for ".concat(e," was never set"));return d[e]}function f(e,t){if(!e)throw new Error("All runtime objects require an agent identifier!");d[e]={...(0,n.a)(t,u),...c},Object.hasOwnProperty.call(d[e],"harvestCount")||Object.defineProperty(d[e],"harvestCount",{get:()=>++s});const r=(0,i.nY)(e);r&&(r.runtime=d[e])}},9324:(e,t,r)=>{"use strict";r.d(t,{F3:()=>i,Xs:()=>o,xv:()=>n});const n="1.286.0",i="PROD",o="CDN"},6154:(e,t,r)=>{"use strict";r.d(t,{OF:()=>c,RI:()=>i,WN:()=>d,bv:()=>o,gm:()=>a,mw:()=>s,sb:()=>u});var n=r(1863);const i="undefined"!=typeof window&&!!window.document,o="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),a=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),s=Boolean("hidden"===a?.document?.visibilityState),c=/iPad|iPhone|iPod/.test(a.navigator?.userAgent),u=c&&"undefined"==typeof SharedWorker,d=((()=>{const e=a.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);Array.isArray(e)&&e.length>=2&&e[1]})(),Date.now()-(0,n.t)())},3241:(e,t,r)=>{"use strict";r.d(t,{W:()=>o});var n=r(6154);const i="newrelic";function o(e={}){try{n.gm.dispatchEvent(new CustomEvent(i,{detail:e}))}catch(e){}}},1687:(e,t,r)=>{"use strict";r.d(t,{Ak:()=>c,Ze:()=>l,x3:()=>u});var n=r(7836),i=r(3606),o=r(860),a=r(2646);const s={};function c(e,t){const r={staged:!1,priority:o.P3[t]||0};d(e),s[e].get(t)||s[e].set(t,r)}function u(e,t){e&&s[e]&&(s[e].get(t)&&s[e].delete(t),g(e,t,!1),s[e].size&&f(e))}function d(e){if(!e)throw new Error("agentIdentifier required");s[e]||(s[e]=new Map)}function l(e="",t="feature",r=!1){if(d(e),!e||!s[e].get(t)||r)return g(e,t);s[e].get(t).staged=!0,f(e)}function f(e){const t=Array.from(s[e]);t.every((([e,t])=>t.staged))&&(t.sort(((e,t)=>e[1].priority-t[1].priority)),t.forEach((([t])=>{s[e].delete(t),g(e,t)})))}function g(e,t,r=!0){const o=e?n.ee.get(e):n.ee,s=i.i.handlers;if(!o.aborted&&o.backlog&&s){if(r){const e=o.backlog[t],r=s[t];if(r){for(let t=0;e&&t<e.length;++t)p(e[t],r);Object.entries(r).forEach((([e,t])=>{Object.values(t||{}).forEach((t=>{t[0]?.on&&t[0]?.context()instanceof a.y&&t[0].on(e,t[1])}))}))}}o.isolatedBacklog||delete s[t],o.backlog[t]=null,o.emit("drain-"+t,[])}}function p(e,t){var r=e[1];Object.values(t[r]||{}).forEach((t=>{var r=e[0];if(t[0]===r){var n=t[1],i=e[3],o=e[2];n.apply(i,o)}}))}},7836:(e,t,r)=>{"use strict";r.d(t,{P:()=>c,ee:()=>u});var n=r(384),i=r(8990),o=r(3371),a=r(2646),s=r(5607);const c="nr@context:".concat(s.W),u=function e(t,r){var n={},s={},d={},l=!1;try{l=16===r.length&&(0,o.f)(r).isolatedBacklog}catch(e){}var f={on:p,addEventListener:p,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i<r.length;i++)r[i]===t&&r.splice(i,1)},emit:function(e,r,n,i,o){!1!==o&&(o=!0);if(u.aborted&&!i)return;t&&o&&t.emit(e,r,n);for(var a=g(n),c=m(e),d=c.length,l=0;l<d;l++)c[l].apply(a,r);var p=v()[s[e]];p&&p.push([f,e,r,a]);return a},get:h,listeners:m,context:g,buffer:function(e,t){const r=v();if(t=t||"feature",f.aborted)return;Object.entries(e||{}).forEach((([e,n])=>{s[n]=t,t in r||(r[t]=[])}))},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach((e=>{delete f.backlog[e]}))},isBuffering:function(e){return!!v()[s[e]]},debugId:r,backlog:l?{}:t&&"object"==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,"aborted",{get:()=>{let e=f._aborted||!1;return e||(t&&(e=t.aborted),e)}}),f;function g(e){return e&&e instanceof a.y?e:e?(0,i.I)(e,c,(()=>new a.y(c))):new a.y(c)}function p(e,t){n[e]=m(e).concat(t)}function m(e){return n[e]||[]}function h(t){return d[t]=d[t]||e(f,t)}function v(){return f.backlog}}(void 0,"globalEE"),d=(0,n.Zm)();d.ee||(d.ee=u)},2646:(e,t,r)=>{"use strict";r.d(t,{y:()=>n});class n{constructor(e){this.contextId=e}}},9908:(e,t,r)=>{"use strict";r.d(t,{d:()=>n,p:()=>i});var n=r(7836).ee.get("handle");function i(e,t,r,i,o){o?(o.buffer([e],i),o.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},3606:(e,t,r)=>{"use strict";r.d(t,{i:()=>o});var n=r(9908);o.on=a;var i=o.handlers={};function o(e,t,r,o){a(o||n.d,i,e,t,r)}function a(e,t,r,i,o){o||(o="feature"),e||(e=n.d);var a=t[o]=t[o]||{};(a[r]=a[r]||[]).push([e,i])}},3878:(e,t,r)=>{"use strict";function n(e,t){return{capture:e,passive:!1,signal:t}}function i(e,t,r=!1,i){window.addEventListener(e,t,n(r,i))}function o(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=>o,jT:()=>n,sp:()=>i})},5607:(e,t,r)=>{"use strict";r.d(t,{W:()=>n});const n=(0,r(9566).bz)()},9566:(e,t,r)=>{"use strict";r.d(t,{LA:()=>s,bz:()=>a});var n=r(6154);const i="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx";function o(e,t){return e?15&e[t]:16*Math.random()|0}function a(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),i.split("").map((e=>"x"===e?o(t,r++).toString(16):"y"===e?(3&o()|8).toString(16):e)).join("")}function s(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,i=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const a=[];for(var s=0;s<e;s++)a.push(o(r,i++).toString(16));return a.join("")}},2614:(e,t,r)=>{"use strict";r.d(t,{BB:()=>a,H3:()=>n,g:()=>u,iL:()=>c,tS:()=>s,uh:()=>i,wk:()=>o});const n="NRBA",i="SESSION",o=144e5,a=18e5,s={STARTED:"session-started",PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},c={SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},u={OFF:0,FULL:1,ERROR:2}},1863:(e,t,r)=>{"use strict";function n(){return Math.floor(performance.now())}r.d(t,{t:()=>n})},944:(e,t,r)=>{"use strict";function n(e,t){"function"==typeof console.debug&&console.debug("New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#".concat(e),t)}r.d(t,{R:()=>n})},5701:(e,t,r)=>{"use strict";r.d(t,{B:()=>a,t:()=>s});var n=r(7836),i=r(3241);const o=new Set,a={};function s(e,t){const r=n.ee.get(t);a[t]??={},e&&"object"==typeof e&&(o.has(t)||(r.emit("rumresp",[e]),a[t]=e,o.add(t),(0,i.W)({agentIdentifier:t,loaded:!0,drained:!0,type:"lifecycle",name:"load",feature:void 0,data:e})))}},8990:(e,t,r)=>{"use strict";r.d(t,{I:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},6389:(e,t,r)=>{"use strict";function n(e,t=500,r={}){const n=r?.leading||!1;let i;return(...r)=>{n&&void 0===i&&(e.apply(this,r),i=setTimeout((()=>{i=clearTimeout(i)}),t)),n||(clearTimeout(i),i=setTimeout((()=>{e.apply(this,r)}),t))}}function i(e){let t=!1;return(...r)=>{t||(t=!0,e.apply(this,r))}}r.d(t,{J:()=>i,s:()=>n})},5289:(e,t,r)=>{"use strict";r.d(t,{GG:()=>o,sB:()=>a});var n=r(3878);function i(){return"undefined"==typeof document||"complete"===document.readyState}function o(e,t){if(i())return e();(0,n.sp)("load",e,t)}function a(e){if(i())return e();(0,n.DD)("DOMContentLoaded",e)}},384:(e,t,r)=>{"use strict";r.d(t,{NT:()=>o,US:()=>d,Zm:()=>a,bQ:()=>c,dV:()=>s,nY:()=>u,pV:()=>l});var n=r(6154),i=r(1863);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function a(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic&&(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function s(){let e=a();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate,CT:n.gm.clearTimeout,XHR:n.gm.XMLHttpRequest,REQ:n.gm.Request,EV:n.gm.Event,PR:n.gm.Promise,MO:n.gm.MutationObserver,FETCH:n.gm.fetch,WS:n.gm.WebSocket}),e}function c(e,t){let r=a();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t}function u(e){let t=a();return t.initializedAgents?.[e]}function d(e,t){a()[e]=t}function l(){return function(){let e=a();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=a();const t=e.init||{};e.init={...t}}(),s(),function(){let e=a();const t=e.loader_config||{};e.loader_config={...t}}(),a()}},2843:(e,t,r)=>{"use strict";r.d(t,{u:()=>i});var n=r(3878);function i(e,t=!1,r,i){(0,n.DD)("visibilitychange",(function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)}),r,i)}},3434:(e,t,r)=>{"use strict";r.d(t,{Jt:()=>o,YM:()=>c});var n=r(7836),i=r(5607);const o="nr@original:".concat(i.W);var a=Object.prototype.hasOwnProperty,s=!1;function c(e,t){return e||(e=n.ee),r.inPlace=function(e,t,n,i,o){n||(n="");const a="-"===n.charAt(0);for(let s=0;s<t.length;s++){const c=t[s],u=e[c];d(u)||(e[c]=r(u,a?c+n:n,i,c,o))}},r.flag=o,r;function r(t,r,n,s,c){return d(t)?t:(r||(r=""),nrWrapper[o]=t,function(e,t,r){if(Object.defineProperty&&Object.keys)try{return Object.keys(e).forEach((function(r){Object.defineProperty(t,r,{get:function(){return e[r]},set:function(t){return e[r]=t,t}})})),t}catch(e){u([e],r)}for(var n in e)a.call(e,n)&&(t[n]=e[n])}(t,nrWrapper,e),nrWrapper);function nrWrapper(){var o,a,d,l;try{a=this,o=[...arguments],d="function"==typeof n?n(o,a):n||{}}catch(t){u([t,"",[o,a,s],d],e)}i(r+"start",[o,a,s],d,c);try{return l=t.apply(a,o)}catch(e){throw i(r+"err",[o,a,e],d,c),e}finally{i(r+"end",[o,a,l],d,c)}}}function i(r,n,i,o){if(!s||t){var a=s;s=!0;try{e.emit(r,n,i,t,o)}catch(t){u([t,r,n,i],e)}s=a}}}function u(e,t){t||(t=n.ee);try{t.emit("internal-error",e)}catch(e){}}function d(e){return!(e&&"function"==typeof e&&e.apply&&!e[o])}},993:(e,t,r)=>{"use strict";r.d(t,{A$:()=>o,ET:()=>a,p_:()=>i});var n=r(860);const i={ERROR:"ERROR",WARN:"WARN",INFO:"INFO",DEBUG:"DEBUG",TRACE:"TRACE"},o={OFF:0,ERROR:1,WARN:2,INFO:3,DEBUG:4,TRACE:5},a="log";n.K7.logging},8154:(e,t,r)=>{"use strict";r.d(t,{z_:()=>o,XG:()=>s,TZ:()=>n,rs:()=>i,xV:()=>a});r(6154),r(9566),r(384);const n=r(860).K7.metrics,i="sm",o="cm",a="storeSupportabilityMetrics",s="storeEventMetrics"},6630:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewEvent},782:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewTiming},6344:(e,t,r)=>{"use strict";r.d(t,{G4:()=>i});var n=r(2614);r(860).K7.sessionReplay;const i={RECORD:"recordReplay",PAUSE:"pauseReplay",REPLAY_RUNNING:"replayRunning",ERROR_DURING_REPLAY:"errorDuringReplay"};n.g.ERROR,n.g.FULL,n.g.OFF},4234:(e,t,r)=>{"use strict";r.d(t,{W:()=>o});var n=r(7836),i=r(1687);class o{constructor(e,t){this.agentIdentifier=e,this.ee=n.ee.get(e),this.featureName=t,this.blocked=!1}deregisterDrain(){(0,i.x3)(this.agentIdentifier,this.featureName)}}},7603:(e,t,r)=>{"use strict";r.d(t,{j:()=>V});var n=r(860),i=r(2555),o=r(9908),a=r(1687),s=r(5289),c=r(6154),u=r(944),d=r(8154),l=r(384),f=r(6344);const g=["setErrorHandler","finished","addToTrace","addRelease","recordCustomEvent","addPageAction","setCurrentRouteName","setPageViewName","setCustomAttribute","interaction","noticeError","setUserId","setApplicationVersion","start",f.G4.RECORD,f.G4.PAUSE,"log","wrapLogger"],p=["setErrorHandler","finished","addToTrace","addRelease"];var m=r(1863),h=r(2614),v=r(993);var b=r(7836),y=r(2646),w=r(3434);const R=new Map;function A(e,t,r,n){if("object"!=typeof t||!t||"string"!=typeof r||!r||"function"!=typeof t[r])return(0,u.R)(29);const i=function(e){return(e||b.ee).get("logger")}(e),o=(0,w.YM)(i),a=new y.y(b.P);a.level=n.level,a.customAttributes=n.customAttributes;const s=t[r]?.[w.Jt]||t[r];return R.set(s,a),o.inPlace(t,[r],"wrap-logger-",(()=>R.get(s))),i}var E=r(3241),_=r(5701);function x(){const e=(0,l.pV)();g.forEach((t=>{e[t]=(...r)=>function(t,...r){let n=[];return Object.values(e.initializedAgents).forEach((e=>{e&&e.runtime?e.exposed&&e[t]&&"micro-agent"!==e.runtime.loaderType&&n.push(e[t](...r)):(0,u.R)(38,t)})),n[0]}(t,...r)}))}const N={};function I(e,t){t||(0,a.Ak)(e.agentIdentifier,"api");const l=e.ee.get("tracer");N[e.agentIdentifier]=h.g.OFF,e.ee.on(f.G4.REPLAY_RUNNING,(t=>{N[e.agentIdentifier]=t}));const g="api-",b=g+"ixn-";function y(t,r,n,o){const a=e.info;return null===r?delete a.jsAttributes[t]:(0,i.x1)(e.agentIdentifier,{...a,jsAttributes:{...a.jsAttributes,[t]:r}}),x(g,n,!0,o||null===r?"session":void 0)(t,r)}function w(){}e.log=function(t,{customAttributes:r={},level:i=v.p_.INFO}={}){(0,o.p)(d.xV,["API/log/called"],void 0,n.K7.metrics,e.ee),function(e,t,r={},i=v.p_.INFO){(0,o.p)(d.xV,["API/logging/".concat(i.toLowerCase(),"/called")],void 0,n.K7.metrics,e),(0,o.p)(v.ET,[(0,m.t)(),t,r,i],void 0,n.K7.logging,e)}(e.ee,t,r,i)},e.wrapLogger=(t,r,{customAttributes:i={},level:a=v.p_.INFO}={})=>{(0,o.p)(d.xV,["API/wrapLogger/called"],void 0,n.K7.metrics,e.ee),A(e.ee,t,r,{customAttributes:i,level:a})},p.forEach((t=>{e[t]=x(g,t,!0,"api")})),e.addPageAction=x(g,"addPageAction",!0,n.K7.genericEvents),e.recordCustomEvent=x(g,"recordCustomEvent",!0,n.K7.genericEvents),e.setPageViewName=function(t,r){if("string"==typeof t)return"/"!==t.charAt(0)&&(t="/"+t),e.runtime.customTransaction=(r||"http://custom.transaction")+t,x(g,"setPageViewName",!0)()},e.setCustomAttribute=function(e,t,r=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof t)||null===t)return y(e,t,"setCustomAttribute",r);(0,u.R)(40,typeof t)}else(0,u.R)(39,typeof e)},e.setUserId=function(e){if("string"==typeof e||null===e)return y("enduser.id",e,"setUserId",!0);(0,u.R)(41,typeof e)},e.setApplicationVersion=function(e){if("string"==typeof e||null===e)return y("application.version",e,"setApplicationVersion",!1);(0,u.R)(42,typeof e)},e.start=()=>{try{(0,o.p)(d.xV,["API/start/called"],void 0,n.K7.metrics,e.ee),e.ee.emit("manual-start-all")}catch(e){(0,u.R)(23,e)}},e[f.G4.RECORD]=function(){(0,o.p)(d.xV,["API/recordReplay/called"],void 0,n.K7.metrics,e.ee),(0,o.p)(f.G4.RECORD,[],void 0,n.K7.sessionReplay,e.ee)},e[f.G4.PAUSE]=function(){(0,o.p)(d.xV,["API/pauseReplay/called"],void 0,n.K7.metrics,e.ee),(0,o.p)(f.G4.PAUSE,[],void 0,n.K7.sessionReplay,e.ee)},e.interaction=function(e){return(new w).get("object"==typeof e?e:{})};const R=w.prototype={createTracer:function(t,r){var i={},a=this,s="function"==typeof r;return(0,o.p)(d.xV,["API/createTracer/called"],void 0,n.K7.metrics,e.ee),e.runSoftNavOverSpa||(0,o.p)(b+"tracer",[(0,m.t)(),t,i],a,n.K7.spa,e.ee),function(){if(l.emit((s?"":"no-")+"fn-start",[(0,m.t)(),a,s],i),s)try{return r.apply(this,arguments)}catch(e){const t="string"==typeof e?new Error(e):e;throw l.emit("fn-err",[arguments,this,t],i),t}finally{l.emit("fn-end",[(0,m.t)()],i)}}}};function x(t,r,i,a){return function(){return(0,o.p)(d.xV,["API/"+r+"/called"],void 0,n.K7.metrics,e.ee),(0,E.W)({agentIdentifier:e.agentIdentifier,drained:!!_.B?.[e.agentIdentifier],type:"data",name:"api",feature:t+r,data:{notSpa:i,bufferGroup:a}}),a&&(0,o.p)(t+r,[i?(0,m.t)():performance.now(),...arguments],i?null:this,a,e.ee),i?void 0:this}}function I(){r.e(296).then(r.bind(r,8778)).then((({setAsyncAPI:t})=>{t(e),(0,a.Ze)(e.agentIdentifier,"api")})).catch((t=>{(0,u.R)(27,t),e.ee.abort()}))}return["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach((t=>{R[t]=x(b,t,void 0,e.runSoftNavOverSpa?n.K7.softNav:n.K7.spa)})),e.setCurrentRouteName=e.runSoftNavOverSpa?x(b,"routeName",void 0,n.K7.softNav):x(g,"routeName",!0,n.K7.spa),e.noticeError=function(t,r){"string"==typeof t&&(t=new Error(t)),(0,o.p)(d.xV,["API/noticeError/called"],void 0,n.K7.metrics,e.ee),(0,o.p)("err",[t,(0,m.t)(),!1,r,!!N[e.agentIdentifier]],void 0,n.K7.jserrors,e.ee)},c.RI?(0,s.GG)((()=>I()),!0):I(),!0}var k=r(5217),S=r(8122);const T={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0},O={};var j=r(3371);const P=e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e},K=new Set;function V(e,t={},r,n){let{init:o,info:a,loader_config:s,runtime:u={},exposed:d=!0}=t;u.loaderType=r;const f=(0,l.pV)();a||(o=f.init,a=f.info,s=f.loader_config),(0,k.xN)(e.agentIdentifier,o||{}),function(e,t){if(!e)throw new Error("All loader-config objects require an agent identifier!");O[e]=(0,S.a)(t,T);const r=(0,l.nY)(e);r&&(r.loader_config=O[e])}(e.agentIdentifier,s||{}),a.jsAttributes??={},c.bv&&(a.jsAttributes.isWorker=!0),(0,i.x1)(e.agentIdentifier,a);const g=e.init,p=[a.beacon,a.errorBeacon];K.has(e.agentIdentifier)||(g.proxy.assets&&(P(g.proxy.assets),p.push(g.proxy.assets)),g.proxy.beacon&&p.push(g.proxy.beacon),x(),(0,l.US)("activatedFeatures",_.B),e.runSoftNavOverSpa&&=!0===g.soft_navigations.enabled&&g.feature_flags.includes("soft_nav")),u.denyList=[...g.ajax.deny_list||[],...g.ajax.block_internal?p:[]],u.ptid=e.agentIdentifier,(0,j.V)(e.agentIdentifier,u),K.has(e.agentIdentifier)||(e.ee=b.ee.get(e.agentIdentifier),e.exposed=d,I(e,n),(0,E.W)({agentIdentifier:e.agentIdentifier,drained:!!_.B?.[e.agentIdentifier],type:"lifecycle",name:"initialize",feature:void 0,data:e.config})),K.add(e.agentIdentifier)}},8374:(e,t,r)=>{r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},860:(e,t,r)=>{"use strict";r.d(t,{$J:()=>d,K7:()=>c,P3:()=>u,XX:()=>i,Yy:()=>s,df:()=>o,qY:()=>n,v4:()=>a});const n="events",i="jserrors",o="browser/blobs",a="rum",s="browser/logs",c={ajax:"ajax",genericEvents:"generic_events",jserrors:i,logging:"logging",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",softNav:"soft_navigations",spa:"spa"},u={[c.pageViewEvent]:1,[c.pageViewTiming]:2,[c.metrics]:3,[c.jserrors]:4,[c.spa]:5,[c.ajax]:6,[c.sessionTrace]:7,[c.softNav]:8,[c.sessionReplay]:9,[c.logging]:10,[c.genericEvents]:11},d={[c.pageViewEvent]:a,[c.pageViewTiming]:n,[c.ajax]:n,[c.spa]:n,[c.softNav]:n,[c.metrics]:i,[c.jserrors]:i,[c.sessionTrace]:o,[c.sessionReplay]:o,[c.logging]:s,[c.genericEvents]:"ins"}}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return r[e](o,o.exports,i),o.exports}i.m=r,i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((t,r)=>(i.f[r](e,t),t)),[])),i.u=e=>"nr-rum-1.286.0.min.js",i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="NRBA-1.286.0.PROD:",i.l=(r,n,o,a)=>{if(e[r])e[r].push(n);else{var s,c;if(void 0!==o)for(var u=document.getElementsByTagName("script"),d=0;d<u.length;d++){var l=u[d];if(l.getAttribute("src")==r||l.getAttribute("data-webpack")==t+o){s=l;break}}if(!s){c=!0;var f={296:"sha512-+MkNp41sKZ0iYMHsept2X5HfDqyTLnDR9rprfuuxTRn6FVcYOei0L1PleWwmSuU2wrJDnMXcNYjTfSPQ3xYU/w=="};(s=document.createElement("script")).charset="utf-8",s.timeout=120,i.nc&&s.setAttribute("nonce",i.nc),s.setAttribute("data-webpack",t+o),s.src=r,0!==s.src.indexOf(window.location.origin+"/")&&(s.crossOrigin="anonymous"),f[a]&&(s.integrity=f[a])}e[r]=[n];var g=(t,n)=>{s.onerror=s.onload=null,clearTimeout(p);var i=e[r];if(delete e[r],s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach((e=>e(n))),t)return t(n)},p=setTimeout(g.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=g.bind(null,s.onerror),s.onload=g.bind(null,s.onload),c&&document.head.appendChild(s)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.p="https://js-agent.newrelic.com/",(()=>{var e={374:0,840:0};i.f.j=(t,r)=>{var n=i.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var o=new Promise(((r,i)=>n=e[t]=[r,i]));r.push(n[2]=o);var a=i.p+i.u(t),s=new Error;i.l(a,(r=>{if(i.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var o=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;s.message="Loading chunk "+t+" failed.\n("+o+": "+a+")",s.name="ChunkLoadError",s.type=o,s.request=a,n[1](s)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,o,[a,s,c]=r,u=0;if(a.some((t=>0!==e[t]))){for(n in s)i.o(s,n)&&(i.m[n]=s[n]);if(c)c(i)}for(t&&t(r);u<a.length;u++)o=a[u],i.o(e,o)&&e[o]&&e[o][0](),e[o]=0},r=self["webpackChunk:NRBA-1.286.0.PROD"]=self["webpackChunk:NRBA-1.286.0.PROD"]||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),(()=>{"use strict";i(8374);var e=i(944),t=i(6344),r=i(9566);class n{agentIdentifier;constructor(){this.agentIdentifier=(0,r.LA)(16)}#e(t,...r){if(this[t]!==n.prototype[t])return this[t](...r);(0,e.R)(35,t)}addPageAction(e,t){return this.#e("addPageAction",e,t)}recordCustomEvent(e,t){return this.#e("recordCustomEvent",e,t)}setPageViewName(e,t){return this.#e("setPageViewName",e,t)}setCustomAttribute(e,t,r){return this.#e("setCustomAttribute",e,t,r)}noticeError(e,t){return this.#e("noticeError",e,t)}setUserId(e){return this.#e("setUserId",e)}setApplicationVersion(e){return this.#e("setApplicationVersion",e)}setErrorHandler(e){return this.#e("setErrorHandler",e)}addRelease(e,t){return this.#e("addRelease",e,t)}log(e,t){return this.#e("log",e,t)}}class o extends n{#e(t,...r){if(this[t]!==o.prototype[t]&&this[t]!==n.prototype[t])return this[t](...r);(0,e.R)(35,t)}start(){return this.#e("start")}finished(e){return this.#e("finished",e)}recordReplay(){return this.#e(t.G4.RECORD)}pauseReplay(){return this.#e(t.G4.PAUSE)}addToTrace(e){return this.#e("addToTrace",e)}setCurrentRouteName(e){return this.#e("setCurrentRouteName",e)}interaction(){return this.#e("interaction")}wrapLogger(e,t,r){return this.#e("wrapLogger",e,t,r)}}var a=i(860),s=i(5217);const c=Object.values(a.K7);function u(e){const t={};return c.forEach((r=>{t[r]=function(e,t){return!0===(0,s.gD)(t,"".concat(e,".enabled"))}(r,e)})),t}var d=i(7603);var l=i(1687),f=i(4234),g=i(5289),p=i(6154),m=i(384);const h=e=>p.RI&&!0===(0,s.gD)(e,"privacy.cookies_enabled");function v(e){return!!(0,m.dV)().o.MO&&h(e)&&!0===(0,s.gD)(e,"session_trace.enabled")}var b=i(6389);class y extends f.W{constructor(e,t,r=!0){super(e.agentIdentifier,t),this.auto=r,this.abortHandler=void 0,this.featAggregate=void 0,this.onAggregateImported=void 0,!1===e.init[this.featureName].autoStart&&(this.auto=!1),this.auto?(0,l.Ak)(e.agentIdentifier,t):this.ee.on("manual-start-all",(0,b.J)((()=>{(0,l.Ak)(e.agentIdentifier,this.featureName),this.auto=!0,this.importAggregator(e)})))}importAggregator(t,r={}){if(this.featAggregate||!this.auto)return;let n;this.onAggregateImported=new Promise((e=>{n=e}));const o=async()=>{let o;try{if(h(this.agentIdentifier)){const{setupAgentSession:e}=await i.e(296).then(i.bind(i,3861));o=e(t)}}catch(t){(0,e.R)(20,t),this.ee.emit("internal-error",[t]),this.featureName===a.K7.sessionReplay&&this.abortHandler?.()}try{if(!this.#t(this.featureName,o))return(0,l.Ze)(this.agentIdentifier,this.featureName),void n(!1);const{lazyFeatureLoader:e}=await i.e(296).then(i.bind(i,6103)),{Aggregate:a}=await e(this.featureName,"aggregate");this.featAggregate=new a(t,r),t.runtime.harvester.initializedAggregates.push(this.featAggregate),n(!0)}catch(t){(0,e.R)(34,t),this.abortHandler?.(),(0,l.Ze)(this.agentIdentifier,this.featureName,!0),n(!1),this.ee&&this.ee.abort()}};p.RI?(0,g.GG)((()=>o()),!0):o()}#t(e,t){switch(e){case a.K7.sessionReplay:return v(this.agentIdentifier)&&!!t;case a.K7.sessionTrace:return!!t;default:return!0}}}var w=i(6630);class R extends y{static featureName=w.T;constructor(e,t=!0){super(e,w.T,t),this.importAggregator(e)}}var A=i(9908),E=i(2843),_=i(3878),x=i(782),N=i(1863);class I extends y{static featureName=x.T;constructor(e,t=!0){super(e,x.T,t),p.RI&&((0,E.u)((()=>(0,A.p)("docHidden",[(0,N.t)()],void 0,x.T,this.ee)),!0),(0,_.sp)("pagehide",(()=>(0,A.p)("winPagehide",[(0,N.t)()],void 0,x.T,this.ee))),this.importAggregator(e))}}var k=i(8154);class S extends y{static featureName=k.TZ;constructor(e,t=!0){super(e,k.TZ,t),p.RI&&document.addEventListener("securitypolicyviolation",(e=>{(0,A.p)(k.xV,["Generic/CSPViolation/Detected"],void 0,this.featureName,this.ee)})),this.importAggregator(e)}}new class extends o{constructor(t){super(),p.gm?(this.features={},(0,m.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(t.features||[]),this.desiredFeatures.add(R),this.runSoftNavOverSpa=[...this.desiredFeatures].some((e=>e.featureName===a.K7.softNav)),(0,d.j)(this,t,t.loaderType||"agent"),this.run()):(0,e.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}get api(){return this}run(){try{const t=u(this.agentIdentifier),r=[...this.desiredFeatures];r.sort(((e,t)=>a.P3[e.featureName]-a.P3[t.featureName])),r.forEach((r=>{if(!t[r.featureName]&&r.featureName!==a.K7.pageViewEvent)return;if(this.runSoftNavOverSpa&&r.featureName===a.K7.spa)return;if(!this.runSoftNavOverSpa&&r.featureName===a.K7.softNav)return;const n=function(e){switch(e){case a.K7.ajax:return[a.K7.jserrors];case a.K7.sessionTrace:return[a.K7.ajax,a.K7.pageViewEvent];case a.K7.sessionReplay:return[a.K7.sessionTrace];case a.K7.pageViewTiming:return[a.K7.pageViewEvent];default:return[]}}(r.featureName).filter((e=>!(e in this.features)));n.length>0&&(0,e.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)}))}catch(t){(0,e.R)(22,t);for(const e in this.features)this.features[e].abortHandler?.();const r=(0,m.Zm)();delete r.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return r.ee.get(this.agentIdentifier).abort(),!1}}}({features:[R,I,S],loaderType:"lite"})})()})();</script> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="apple-touch-icon" sizes="180x180" href="/wp-content/themes/wpx/assets/images/favicons/apple-touch-icon.png?v=1720078588"> <link rel="icon" type="image/png" sizes="32x32" href="/wp-content/themes/wpx/assets/images/favicons/favicon-32x32.png?v=1720078588"> <link rel="icon" type="image/png" sizes="16x16" href="/wp-content/themes/wpx/assets/images/favicons/favicon-16x16.png?v=1720078588"> <link rel="icon" type="image/png" sizes="192x192" href="/wp-content/themes/wpx/assets/images/favicons/android-chrome-192x192.png?v=1720078588"> <link rel="manifest" href="/wp-content/themes/wpx/assets/images/favicons/site.webmanifest?v=1720078588"> <link rel="mask-icon" href="/wp-content/themes/wpx/assets/images/favicons/safari-pinned-tab.svg?v=1720078588" color="#ff4438"> <link rel="shortcut icon" type="image/x-icon" href="/wp-content/themes/wpx/assets/images/favicons/favicon.ico?v=1720078588"> <meta name="msapplication-TileColor" content="#da532c"> <meta name="msapplication-TileImage" content="/wp-content/themes/wpx/assets/images/favicons/mstile-144x144.png?v=1720078588"> <meta name="msapplication-config" content="/wp-content/themes/wpx/assets/images/favicons/browserconfig.xml?v=1720078588"> <meta name="theme-color" content="#ffffff"> <style type="text/css"> html body .wp-block-group.home-banner { display: block!important; } @media (max-width: 767px) { html body.page-template-glide-template .home-banner .banner .heading span { display:inline; word-spacing: .1rem } } @media (max-width: 767px) { html body.page-template-glide-template .home-banner .banner .heading span:last-child { margin-left:.3rem } } </style> <!-- TrustArc --> <script async="async" src="https://consent.trustarc.com/notice?domain=redis.com&c=teconsent&js=nj&noticeType=bb&text=true&gtm=1"></script> <script>var __dispatched__ = {}; var __i__ = self.postMessage && setInterval(function(){ if(self.PrivacyManagerAPI && __i__){ var apiObject = {PrivacyManagerAPI: {action:"getConsentDecision", timestamp: new Date().getTime(), self: self.location.host}}; self.top.postMessage(JSON.stringify(apiObject),"*"); __i__ = clearInterval(__i__); }},50); self.addEventListener("message", function(e, d){ try{ if(e.data && (d= JSON.parse(e.data)) && (d = d.PrivacyManagerAPI) && d.capabilities && d.action=="getConsentDecision"){ var newDecision = self.PrivacyManagerAPI.callApi("getGDPRConsentDecision", self.location.host).consentDecision; newDecision && newDecision.forEach(function(label){ if(!__dispatched__[label]){ self.dataLayer && self.dataLayer.push({"event":"GDPR Pref Allows "+label}); __dispatched__[label] = 1; } }); } } catch(xx){} });</script> <!-- Mutiny ABM --> <script> (function(){var a=window.mutiny=window.mutiny||{};if(!window.mutiny.client){a.client={_queue:{}};var b=["identify","trackConversion"];var c=[].concat(b,["defaultOptOut","optOut","optIn"]);var d=function factory(c){return function(){for(var d=arguments.length,e=new Array(d),f=0;f<d;f++){e[f]=arguments[f]}a.client._queue[c]=a.client._queue[c]||[];if(b.includes(c)){return new Promise(function(b,d){a.client._queue[c].push({args:e,resolve:b,reject:d});setTimeout(d,500)})}else{a.client._queue[c].push({args:e})}}};c.forEach(function(b){a.client[b]=d(b)})}})(); </script> <script> window.mutiny.client.defaultOptOut(); </script> <script src="https://client-registry.mutinycdn.com/personalize/client/bfbc97d1462e0101.js"></script> <link rel='dns-prefetch' href='//client-registry.mutinycdn.com' ><link rel='preconnect' href='//client-registry.mutinycdn.com' crossorigin><link rel='dns-prefetch' href='//connect.facebook.net' ><link rel='preconnect' href='//connect.facebook.net' crossorigin><link rel='dns-prefetch' href='//www.googletagmanager.com' ><link rel='preconnect' href='//www.googletagmanager.com' crossorigin><link rel='dns-prefetch' href='//script.hotjar.com' ><link rel='preconnect' href='//script.hotjar.com' crossorigin> <script type="text/javascript"> if ('function' !== typeof getCookie) { function getCookie(name) { let value = `; ${document.cookie}`; let parts = value.split(`; ${name}=`); if (parts.length === 2) return parts.pop().split(';').shift(); } } </script> <link rel="alternate" hreflang="en" href="https://redis.io/"> <link rel="icon" href="https://redis.io/wp-content/uploads/2024/07/android-chrome-512x512-1-100x100.png" sizes="32x32" /> <link rel="icon" href="https://redis.io/wp-content/uploads/2024/07/android-chrome-512x512-1-512x508.png" sizes="192x192" /> <link rel="apple-touch-icon" href="https://redis.io/wp-content/uploads/2024/07/android-chrome-512x512-1-512x508.png" /> <meta name="msapplication-TileImage" content="https://redis.io/wp-content/uploads/2024/07/android-chrome-512x512-1.png" /> <style type="text/css" id="wp-custom-css"> html body .absolute { position: absolute !important; z-index: -1; } html body .bottom-0 { bottom: 0; } html body .left-0 { left: 0; } html body .margin-bottom-0 { margin-bottom: 0 !important; } @media (max-width: 1166px) { html body.alert-bar.mobile-nav-open .nav-primary .menu-nav-primary-container { top: 177px; } } body .wp-block-group.alignfull.new-m-spacing >.wp-block-group__inner-container { padding: 0 2.444rem; } .completely-different-m .red-arrow-hover .cta-txt-black:before, .completely-different-m .red-arrow-hover h3.cta-txt-black:after { background-image: none!important; } @media (max-width: 1024px) { body.page-template-glide-template.page-template .bounds .bounds-inner, body .wp-block-group.alignfull.new-m-spacing >.wp-block-group__inner-container { padding: 0 33px; } .completely-different-m .red.red-arrow-hover { padding: 0!important; } .completely-different-m .wp-block-rediscustom-linkwrapper.redislink-wrapper { align-items: center; display: flex; justify-content: space-around; padding: 1rem 1rem 1rem .5rem; } .completely-different-m .wp-block-rediscustom-linkwrapper.redislink-wrapper .wp-block-image.size-full img { height: 48px; width: 48px; } .completely-different-m .wp-block-rediscustom-linkwrapper.redislink-wrapper .wp-block-image.size-full { flex-basis: 25%: } .completely-different-m .wp-block-rediscustom-linkwrapper.redislink-wrapper .wp-block-image.show-on-tablet { flex-basis: 20%: } .completely-different-m .wp-block-rediscustom-linkwrapper.redislink-wrapper .wp-block-image.show-on-tablet img { margin-bottom: 50%; } .completely-different-m .red-arrow-hover h3.cta-txt-black:before { background-image: url(https://redis.io/wp-content/uploads/2025/02/arrow.svg)!important; background-size: 14px 14px; height: 14px; width: 14px; top: 50%; transform: translate(10px, -50%); } .completely-different-m .red-arrow-hover:hover h3.cta-txt-black:before { background-image: url(https://redis.io/wp-content/uploads/2025/02/arrow.svg)!important; background-size: 14px 14px; height: 14px; width: 14px; opacity: 1; top: 50%; transform: translate(0, -50%); background-position: unset!important; } .completely-different-m .red-arrow-hover:hover h3.cta-txt-black:after { background-size: 14px 14px; height: 14px; width: 14px; opacity: 0; top: 50%; transform: translate(10px, -50%) background-position: unset!important; } .completely-different-m .red-arrow-hover h3.cta-txt-black:after { background-image: url(https://redis.io/wp-content/themes/redislabs-glide/assets/dist/images/arrow-black.svg)!important; background-size: 14px 14px; height: 14px; width: 14px; opacity: 1; top: 50%; transform: translate(0, -50%) } .redis-is-free s { text-decoration: none!important; } .mb-33-m { margin-bottom: 15px!important; } .completely-different-m .wp-block-rediscustom-linkwrapper.redislink-wrapper .wp-block-image.show-on-tablet img { width: 11.49px; height: 9.89px; } .completely-different-m .wp-block-rediscustom-linkwrapper.redislink-wrapper h3.cta-txt-black { font-size: 18.057px !important; flex-basis: 68%; padding-right: 30px; margin-bottom: 0 !important; font-family: "Space Grotesk"; height: 49px; display: flex ; align-items: center; } .hide-on-tablet { display: none!important; } .show-on-tablet.wp-block-image, .show-on-tablet.wp-block-spacer { display: block!important; } .mr-30-m { margin-right: 34px!important; } .mb-m-26 { margin-bottom: 19px!important; } .only-48-m { width: 48px!important; flex-basis: 48px!important; } .shadow-single-card h3.shadow-card-title.wp-block-heading, .font-20-m { font-size: 20px!important; font-weight: 500; } .margin-bottom-0.mt-19-m.has-text-color.has-link-color { margin-top: 19px!important; } .shadow-single-card h2.shadow-card-title, h2.wp-block-heading.shadow-card-title.margin-bottom-0, .shadow-card-title.mb-42.wp-block-heading, .shadow-card-title.left-align-m.wp-block-heading { font-size: 32px; line-height: 38.4px; } .shadow-card-title.left-align-m.has-text-align-center { text-align: left; } .shadow-single-card .wp-block-separator.has-text-color.has-alpha-channel-opacity.has-background.is-style-wide { width: 202px; margin-left: 0; } .shadow-card-title.mb-42.wp-block-heading { margin-bottom: 32px; } .mobile-23 { height: 14px!important; } .mobile-64 { height: 64px!important; } .mobile-29 { height: 29px!important; } .mobile-21 { height: 16px!important; } .center-link-m { display: block!important; width: max-content; margin: auto; } .font-18-m { font-size: 18px!important; text-align: center; } .mobile-46 { height: 46px!important; } .mobile-166 { width: 166px!important; } html body.page-template-glide-template p.margin-bottom-0:last-child, .mb-0-m { margin-bottom: 0!important; } .mobile-full-width { width: 100%; } } .show-on-tablet { display: none!important; } .alertbar-container img { margin-right: 5px; } .redis-experts-block .partner-section .partner-grid .partner-logo img { height: auto; width: auto; } .header-hero-title, .header-hero-subtitle { text-align: center; } @media (min-width: 1280px) { .cloud-tabbing-section.tabsection.variation-2 .tab-content .col .box .number { font-size: 4.278rem; } } .customer-stories .story-cards .card .card-content .detail { min-height: 4.5rem; } html body.page-template-glide-template .bounds-inner p.arrow-btn a { text-decoration: none } html body.page-template-glide-template .bounds-inner p.cta-txt-black a:hover { color: #ff4438; } body.page-template-glide-template .bounds-inner p.cta-txt-white a { color: #fff; display: inline-block; font-family: "Space Mono"; font-size: .833rem; line-height: 1rem; overflow: hidden; padding-right: 20px; position: relative; } body.page-template-glide-template .bounds-inner p.cta-txt-white.arrow-btn a { padding-right: 0; } body.page-template-glide-template .bounds-inner p.cta-txt-white a:hover { color: #dcff1e; } html body .max-five { margin-left: auto; margin-right: auto; } html body .max-nine-fifty { margin-left: auto; margin-right: auto; max-width: 950px; } .space-mono, .space-mono .syntaxhighlighter code, .space-mono .syntaxhighlighter textarea { font-family: "Space Mono"!important; line-height: 2rem!important;} .red-border-top { border-top: 11px solid #FF4438!important; outline: .056rem solid #8A99A0; border-right: none!important; border-left: none!important; border-bottom: none!important; border-radius: 10px!important; } .blue-border-top { border-top: 11px solid #80DBFF!important; outline: .056rem solid #8A99A0; border-right: none!important; border-left: none!important; border-bottom: none!important; border-radius: 10px!important; } .purple-border-top { border-top: 11px solid #2D4754!important; outline: .056rem solid #8A99A0; border-right: none!important; border-left: none!important; border-bottom: none!important; border-radius: 10px!important; } .border-right { border-right: 1px solid rgba(185, 194, 198, 0.50); } .border-radius-border-right { border-radius: 5px 0px 0px 5px; border-right: 2px solid var(--Dusk-Dusk, #163341); } .gap-0 { gap: 0!important; } .wp-block-cover.alignfull { display: block; width: 100vw; height: auto; max-width: 1000% !important; min-height: unset; margin-left: 50%; transform: translateX(-50%) !important; } .tab-controls .next-arrow, .prev-arrow { display: none; } body.page-template-glide-template .bounds-inner .bgmidnight p.red-arrow a, body.page-template-glide-template a.red-arrow, body.page-template-glide-template p.cta-txt-black.red-arrow a { color: #E4291E; height: 19px; line-height: 16px!important; font-size: 16px!important; } body.page-template-glide-template .bounds-inner .bgmidnight p.red-arrow-2 a, body.page-template-glide-template a.red-arrow-2, body.page-template-glide-template p.cta-txt-black.red-arrow-2 a { color: #FF4438; height: 19px; line-height: 16px!important; font-size: 16px!important; } body.page-template-glide-template .bounds-inner .bgmidnight p.red-arrow-2 a:hover, body.page-template-glide-template a.red-arrow-2:hover, body.page-template-glide-template p.cta-txt-black.red-arrow-2 a:hover, body.page-template-glide-template p.cta-txt-black.red-arrow-2:hover a, html body .bgmidnight .red-arrow-2.cta-txt-black:hover, html body.page-template-glide-template .bounds-inner .bgmidnight p.red-arrow-2.cta-txt-black:hover a { color: #FD736A!important; height: 19px; } html body .cta-txt-black.red-arrow-2:hover:before, html body .red-arrow.cta-txt-black:hover:before { background-position: unset!important; } body.page-template-glide-template .bounds-inner .bgmidnight p.red-arrow a:hover, body.page-template-glide-template a.red-arrow:hover, body.page-template-glide-template p.cta-txt-black.red-arrow a:hover, html body .bgmidnight .red-arrow.cta-txt-black:hover, html body.page-template-glide-template .bounds-inner .bgmidnight p.red-arrow.cta-txt-black:hover a { color: #8A221C!important; height: 19px; } body.page-template-glide-template .bounds-inner .bgmidnight p.red-arrow-2:after, body.page-template-glide-template a.red-arrow-2:after, body.page-template-glide-template p.cta-txt-black.red-arrow-2:after, body.page-template-glide-template p.cta-txt-black.red-arrow.arrow-btn:after{ background-image: url(https://redis.io/wp-content/uploads/2025/02/arrow.svg); background-size: 14px 14px; height: 14px; width: 14px; } body.page-template-glide-template .bounds-inner .bgmidnight p.red-arrow-2:before, body.page-template-glide-template a.red-arrow-2:before, body.page-template-glide-template p.cta-txt-black.red-arrow-2:before, body.page-template-glide-template p.cta-txt-black.red-arrow.arrow-btn:before { background-image: url(https://redis.io/wp-content/uploads/2025/02/arrow-2.svg); background-size: 14px 14px; height: 14px; width: 14px; } body.page-template-glide-template .bounds-inner .bgmidnight p.red-arrow:before, body.page-template-glide-template a.red-arrow:before, body.page-template-glide-template p.cta-txt-black.red-arrow:before, body.page-template-glide-template .red-arrow-hover p.cta-txt-black.red-arrow:before { background-image: url(https://redis.io/wp-content/uploads/2025/02/arrow-1.svg)!important; background-size: 14px 14px; height: 14px; width: 14px; } html body div:not(.bgmidnight) .cta-txt-black.red-arrow:after, html body .cta-txt-black.red-arrow:before { top: 50%; transform: translate(-10px, -50%); } html body .cta-txt-black.red-arrow:hover:before, body.page-template-glide-template .red-arrow-hover:hover p.cta-txt-black.red-arrow:before { top: 50%; transform: translate(0, -50%); opacity: 1; } body.page-template-glide-template .red-arrow-hover:hover p.cta-txt-black.red-arrow:after, body.page-template-glide-template .red-arrow-hover p.cta-txt-black.red-arrow:before { opacity: 0; transform: translate(-10px, -50%); top: 50%; } html body div:not(.bgmidnight) .cta-txt-black.red-arrow:after, html body .cta-txt-black.red-arrow:after { top: 50%; transform: translate(0, -50%); } body.page-template-glide-template .red-arrow-hover:hover p.cta-txt-black.red-arrow, body.page-template-glide-template a.red-arrow:hover { color: #8A221C!important; } body.page-template-glide-template .red-arrow-hover p.cta-txt-black.red-arrow, body.page-template-glide-template a.red-arrow { height: 19px; } body.page-template-glide-template .red-arrow-hover:hover { box-shadow: 0px 36px 10px 0px rgba(0, 0, 0, 0.00), 0px 23px 9px 0px rgba(0, 0, 0, 0.01), 0px 13px 8px 0px rgba(0, 0, 0, 0.02), 0px 6px 6px 0px rgba(0, 0, 0, 0.03), 0px 1px 3px 0px rgba(0, 0, 0, 0.04); } html body.page-template-glide-template p.cta-txt-black.red-arrow:after, html body.page-template-glide-template a.cta-txt-black.red-arrow:after { background-image: url(https://redis.io/wp-content/uploads/2025/02/arrow.svg); background-size: 14px 14px; height: 14px; width: 14px; } html body.page-template-gsap-animation-template.glide-bg-light-blue { background-color: white; } .three-card-block .column { border: 1px solid var(--dusk-dusk-30, #B9C2C6); } .border-none a, .border-none { border: none!important; } html body.page-template-glide-template .alignfull.wp-block-group.has-background.py-108 { padding-top: 6rem; padding-bottom: 6rem; } html body.page-template-glide-template .font-space-grotesk, html body.page-template-gsap-animation-template .font-space-grotesk a, html body .wp-block-buttons .wp-block-button.font-space-grotesk .wp-element-button.wp-block-button__link{ font-family: "Space Grotesk"!important; } .wp-block-group.button-flex-group.button-gap-24.is-nowrap.is-layout-flex.wp-container-core-group-is-layout-3.wp-block-group-is-layout-flex, .wp-block-group.button-flex-group.button-gap-24.is-nowrap.is-layout-flex.wp-container-core-group-is-layout-1.wp-block-group-is-layout-flex{ gap: 30px; } @media (max-width: 781px) { html body.page-template-glide-template .hero-banner-wrap.solutions-banner.newest-banner .wp-block-image.show-on-tablet img { max-width: unset; width: 100%; } .wp-block-group.button-flex-group.button-gap-24.is-nowrap.is-layout-flex.wp-container-core-group-is-layout-3.wp-block-group-is-layout-flex .wp-block-group, .wp-block-group.button-flex-group.button-gap-24.is-nowrap.is-layout-flex.wp-container-core-group-is-layout-3.wp-block-group-is-layout-flex .wp-block-buttons, .wp-block-group.button-flex-group.button-gap-24.is-nowrap.is-layout-flex.wp-container-core-group-is-layout-3.wp-block-group-is-layout-flex .wp-block-button, .wp-block-group.button-flex-group.button-gap-24.is-nowrap.is-layout-flex.wp-container-core-group-is-layout-1.wp-block-group-is-layout-flex .wp-block-buttons, .wp-block-group.button-flex-group.button-gap-24.is-nowrap.is-layout-flex.wp-container-core-group-is-layout-1.wp-block-group-is-layout-flex .wp-block-button { width: 100%; } .wp-block-heading.page-title.mb-32.md-mb-32.has-none-font-family { font-size: 40px!important; } .wp-block-cover .cta-txt-black.red-arrow-2.arrow-btn.margin-top-0.font-space-grotesk { margin: auto; } .wp-block-cover .wp-block-columns.column-gap-32.column-grid.mb-0.hero-banner-wrap.solutions-banner.newest-banner.is-layout-flex.wp-container-core-columns-is-layout-1.wp-block-columns-is-layout-flex { padding-bottom: 0; } .wp-block-group.shadow-single-card { margin: -176px auto; padding: 23px 21px!important; } .random-badge.size-full { bottom: unset; right: -30px; top: 114px; } } html body .accordion-content.acc-cont.show .acc-con-space .info-content a:hover { color: #E4291E; } h3.ttl { font-weight: 500; } html body.page-template-gsap-animation-template .font-space-grotesk a, html body.page-template-gsap-animation-template .font-space-grotesk .red-arrow { font-family: "Space Grotesk"!important; height: 19px; line-height: 16px!important; font-size: 16px!important; } .new-cards .three-card-block .column { border-radius: 10px; padding: 32px 32px 28px 32px; } .new-cards .three-card-block.three-plus { justify-content: center; flex-wrap: wrap!important; } .new-cards .three-card-block.three-plus .column { flex-basis: 30%; max-width: 347px; } .new-cards h3.wp-block-heading.ttl { display: flex; align-items: flex-end; } .new-cards p.cta-txt-black.red-arrow.margin-bottom-0 { margin-bottom: 0!important; line-height: 16px; } .new-cards .three-card-block .column .wp-block-image.size-full { margin-bottom: 2.43px!important; min-height: 0; } .new-cards .three-card-block .column .content-area { min-height: 100px!important; margin-bottom: 0; } .backandforth h2 { line-height: 38.4px!important; } .wp-block-group.button-flex-group.is-nowrap.is-layout-flex.wp-container-core-group-is-layout-2.wp-block-group-is-layout-flex { gap: 32px; } @media (min-width: 798px) and (max-width: 1600px) { .wp-block-cover.over-sized-desktop:not(.a-bit-smaller-though) img.wp-block-cover__image-background { width: 112%; } } .wp-block-cover.over-sized-desktop { background: var(--Gradient, linear-gradient(180deg, #163341 0.05%, #091A23 118.36%)); } .wp-block-cover.over-sized-desktop:not(.a-bit-smaller-though) img.wp-block-cover__image-background { max-width: 2103px; margin: auto; } .wp-block-cover.over-sized-desktop.a-bit-smaller-though img.wp-block-cover__image-background { max-width: 1480px; margin: auto; } @media (max-width: 798px) { .wp-block-cover:not(.center-mobile) img { object-position: left top; } html body .giant-title.rdi-page-heading br { display: block; } .newest-banner h2.wp-block-heading.margin-bottom-0 { font-size: 20px!important; line-height: 24px!important; margin-bottom: 31px!important; } .newest-banner .font-space-grotesk.margin-top-0.has-white-color.has-text-color.has-link-color { margin-bottom: 0; } } @media (max-width: 1255px) { h1.giant-title { font-size: 100px!important; line-height: 85px!important; } } .shadow-single-card { border-radius: 10px; border: 1px solid var(--dusk-dusk-10, #D9D9D9); background: var(--Redis-White, #FFF); box-shadow: 0px 4px 16px 0px rgba(0, 0, 0, 0.10); max-width: 428px; padding: 42px!important; position: relative; } .shadow-single-card h3.shadow-card-title { color: var(--Redis-Ink, #091A23); font-size: 24px; font-weight: 600; line-height: 26px; margin-bottom: 0; } .shadow-single-card h2.shadow-card-title, h2.wp-block-heading.shadow-card-title { font-size: 40px; font-weight: 500; line-height: 50px; } .regular-cards h3.board-heading-title { color: var(--Base-Midnight, #091A23); font-feature-settings: 'liga' off, 'clig' off; font-size: 20px; font-style: normal; font-weight: 500; line-height: 24px; } .regular-cards .board-content { color: var(--Midnight, #091A23); font-family: "Space Grotesk"; font-size: 16px!important; line-height: 25.6px; } .regular-cards .wp-block-column { display: flex; flex-direction: column; justify-content: space-around; } .regular-cards .wp-block-column .red-arrow { width: max-content; } .shadow-single-card h2.shadow-card-title strong { font-size: 16px; font-weight: 400; line-height: 160%; } .shadow-single-card p sub { color: var(--dusk-dusk-90, #2D4754); font-size: 12px; font-style: normal; font-weight: 400; line-height: 18px; } .gap-19 { gap: 19px!important; } .gap-14 { gap: 14px!important; } .max-1114 { margin: auto; max-width: 1114px; } .redis-is-free { cursor: pointer; width: max-content; } .redis-is-free s { text-decoration-line: underline; text-decoration-style: solid; text-decoration-skip-ink: auto; text-decoration-thickness: auto; text-underline-offset: auto; text-underline-position: from-font; } .tooltip-content { opacity: 0; position: absolute; padding: 13.5px 26.5px; border-radius:4px; top: 104px; transition: all .3s; left: 80px; } .redis-is-free:hover .tooltip-content { opacity: 1; } .tooltip-content::before { content: ""; position: absolute; top: -8px; left: 50%; transform: translateX(-50%); border-left: 10px solid transparent; border-right: 10px solid transparent; border-bottom: 10px solid white; } html body.page-template-glide-template p.margin-bottom-0.margin-top-0:last-child { margin-top: 0!important; margin-bottom: 0!important; } .gap-8 { gap: 8px!important; } .tooltip-content .wp-block-column p { color: var(--Redis-Midnight, #163341); font-size: 16px; font-style: normal; font-weight: 400; line-height: 25.6px; } h5.dark-back-superscript { color: var(--dusk-dusk-30, #B9C2C6); font-feature-settings: 'liga' off, 'clig' off; font-family: "Space Mono"; font-size: 14px; font-style: normal; font-weight: 400; line-height: 16.8px; letter-spacing: 1.5px; text-transform: uppercase; } html body .cta-txt-black.red-arrow { font-family: "Space Grotesk"!important; } .random-badge { position: absolute; bottom: 115px; height: 147px; right: -75px; width: 147px; } .random-badge img { width: 100%; } html body.page-template-glide-template .accordion-with-logo-content .acc-container .wp-block-column.acc-logo-grid .logo-kicker { margin-top: 0 !important; } #star-top, #star-bottom { transform-origin: center; transition: transform 0.5s; } html body header.header-main .header-main-outer ul#menu-nav-primary li.special-menu-link:hover span.inner { font-weight: 400; transition: all .5s!important; } html body header.header-main .header-main-outer ul#menu-nav-primary li.special-menu-link:hover span.inner a { font-weight: 400; } @media (max-width: 1166px) { .nav-primary .special-menu-link .inner { border: none!important; display: flex!important ; flex-direction: row-reverse; } .header-main-outer ul#menu-nav-primary li:hover span.inner { border: none!important; } } html body header.header-main .header-main-outer ul#menu-nav-primary li span.inner a { transition: all .5s!important; } .nav-primary .special-menu-link:hover .inner { border: 1px solid var(--Base-Hyper, #ff4438); } .nav-primary .special-menu-link .inner { border-radius: 20px; border: 1px solid var(--Base-Midnight, #091a23); padding: 4px 16px 4px 36px; padding-bottom: 4px !important; transition: all .5s; } h1.wp-block-heading.has-text-align-center.max-one-thousand { font-size: 180px; } @media (max-width: 1166px) { h1.wp-block-heading.has-text-align-center.max-one-thousand { font-size: 90px; } html body header.header-main .header-main-outer ul#menu-nav-primary li { width: calc(100% - 32px); display: block; } .nav-primary .special-menu-link .inner svg { position: unset; margin-left: 11px; } html body header.header-main .header-main-outer ul#menu-nav-primary li.special-menu-link span.inner span { width: max-content!important } } html[lang="fr"] .nav-primary .special-menu-link .inner svg { left: -138px; } .slug-try-free .sso-link, .slug-try-free .wp-block-button__link.has-white-background-color.has-background.wp-element-button.no-shuffle { border-color: #B9C2C6!important; color: #091A23!important; } .slug-try-free .sso-link, .slug-try-free .wp-block-button__link.has-white-background-color.has-background.wp-element-button.no-shuffle:hover { border-color: #B9C2C6!important; color: white!important; } html body.page-template-glide-template a.cta-txt-black.red-arrow:after, html body.page-template-glide-template p.cta-txt-black.red-arrow:after { filter: unset!important; } html body:not(.slug-try-free) .wp-block-buttons .wp-block-button:not(.full-width__mobile) .wp-element-button.no-shuffle.wp-block-button__link { display: unset; } html body:not(.slug-try-free) .wp-block-buttons .wp-block-button.full-width__mobile .wp-element-button.no-shuffle.wp-block-button__link { display: block; } html body .red-arrow.cta-txt-black:before { background-position: unset!important; visibility: visible!important; } html body header.header-main .header-main-outer nav.nav-utility .wp-block-columns .wp-block-column .wp-block-button a.wp-block-button__link.try-free-header { padding: 1.35rem 1.5rem 1.47rem !important; } html body.page-template-glide-template p.max-six-fifty { line-height: 120%; } html body .bookmark a img { position: relative; top: 5px; margin-right: 24px; } @media (max-width: 767px) { html body .bookmark a { font-size: 14px!important; } } html body .wp-block-buttons .bookmark .wp-element-button.wp-block-button__link.no-shuffle:hover { color: #8A221C!important; background-color: #FFDAD8CC!important; } html body .wp-block-buttons .secondary-button .wp-element-button.wp-block-button__link.no-shuffle { border: 1px solid #FF4438!important; color: #FF4438!important; background-color: transparent!important; } html body .wp-block-buttons .secondary-button .wp-element-button.wp-block-button__link.no-shuffle:hover { border: 1px solid #FD736A!important; color: #FD736A!important; background-color: #8A221C80!important; } .line-height-0 { line-height: 0!important; letter-spacing: 1.5px; } html body .video-thumb-load.redis-ai-video, html body .video-thumb-load.redis-ai-video.wp-has-aspect-ratio iframe { border-radius: 10px; } html body header.header-main .header-main-outer nav.nav-utility a { font-family: 'Space Mono'; font-weight: 400; color: #161f31!important; } html body header.header-main .header-main-outer nav.nav-utility a:hover { font-weight: 500; } @media (max-width: 767px) { body .wp-block-group.alignfull.align-full>.wp-block-group__inner-container { padding: 0 35px!important; } } .wp-block-buttons.is-layout-flex { gap: 20px; } html body .wp-block-buttons .wp-element-button.wp-block-button__link.no-shuffle { min-width: 150px; padding: 15px 24px!important; } </style> <link rel="alternate" hreflang="x-default" href="https://redis.io/"> <link rel="alternate" hreflang="es" href="https://redis.io/es/"> <link rel="alternate" hreflang="fr" href="https://redis.io/fr/"> <link rel="alternate" hreflang="de" href="https://redis.io/de/"> <link rel="alternate" hreflang="ko" href="https://redis.io/ko/"> <link rel="alternate" hreflang="pt" href="https://redis.io/pt/"> <meta name="ahrefs-site-verification" content="e2ef51ac3cec223624a89ee7790eda482d23374870bff86fe0e0c599b8de4b51"> <link rel="preload" href="https://redis.io/wp-content/themes/redislabs-glide/assets/dist/fonts/TTTrailers-Bd.woff2" as="font" type="font/woff2" crossorigin> <link rel="preload" href="https://redis.io/wp-content/themes/redislabs-glide/assets/dist/fonts/TTTrailers-Bd.woff" as="font" type="font/woff" crossorigin> <link rel="preload" href="https://redis.io/wp-content/themes/redislabs-glide/assets/dist/fonts/SpaceMono-Regular.woff" as="font" type="font/woff" crossorigin> <link rel="preload" href="https://redis.io/wp-content/themes/redislabs-glide/assets/dist/fonts/SpaceMono-Regular.woff2" as="font" type="font/woff2" crossorigin> <link rel="preload" href="https://redis.io/wp-content/themes/redislabs-glide/assets/dist/fonts/SpaceGrotesk-Regular.woff" as="font" type="font/woff" crossorigin> <link rel="preload" href="https://redis.io/wp-content/themes/redislabs-glide/assets/dist/fonts/SpaceGrotesk-Regular.woff2" as="font" type="font/woff" crossorigin> <style type="text/css"> :root { --white-paper: #ff2828; --data-sheet: #5925e8; --e-book: #e7ea25; --blog: #dcff1e; --case-study: #ff2828; --partners: #5925e8; --press: #c795e3; --documents: #80dbff; --page: #163341; --eventwebinar: #ff4438; } </style> </head> <body style="" class="home page-template page-template-glide-template page-template-glide-template-php page page-id-520 wp-embed-responsive alert-bar rcplan-nones slug-home theme-white-with-border"> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-TKZ6J9R" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <!-- alert bar --> <div id="alert-bar" class="alert"> <!-- wp:rediscustom/linkwrapper {"url":"/resources/mit-report-genai/","isNewTab":false,"className":"full-width"} --> <a href="/resources/mit-report-genai/" class="wp-block-rediscustom-linkwrapper redislink-wrapper full-width" target="" rel="noopener"><!-- wp:group {"style":{"color":{"background":"#163341"}},"className":"alertbar-container"} --> <div class="wp-block-group alertbar-container has-background" style="background-color:#163341"><!-- wp:spacer {"height":"12px"} --> <div style="height:12px" aria-hidden="true" class="wp-block-spacer"></div> <!-- /wp:spacer --> <!-- wp:columns {"verticalAlignment":"center","className":"max-nine-fifty justify-center margin-bottom-0"} --> <div class="wp-block-columns are-vertically-aligned-center max-nine-fifty justify-center margin-bottom-0"><!-- wp:column {"verticalAlignment":"center","width":"79%","className":"margin-bottom-0"} --> <div class="wp-block-column is-vertically-aligned-center margin-bottom-0" style="flex-basis:79%"><!-- wp:paragraph {"style":{"typography":{"fontSize":"15px"}},"textColor":"white","className":"margin-top-0 margin-bottom-0"} --> <p class="margin-top-0 margin-bottom-0 has-white-color has-text-color" style="font-size:15px"><img class="wp-image-157089" style="width: 11px;" src="https://redis.io/wp-content/uploads/2022/12/Ellipse-47.svg" alt="dot"> Stop testing, start deploying your AI apps. See how with MIT Technology Review’s latest research.</p> <!-- /wp:paragraph --></div> <!-- /wp:column --> <!-- wp:column {"verticalAlignment":"center","width":"12%"} --> <div class="wp-block-column is-vertically-aligned-center" style="flex-basis:12%"><!-- wp:paragraph {"style":{"color":{"text":"#dcff1e"},"typography":{"fontSize":"15px"}},"className":"cta green no-format margin-top-0 margin-bottom-0"} --> <p class="cta green no-format margin-top-0 margin-bottom-0 has-text-color" style="color:#dcff1e;font-size:15px">Download now</p> <!-- /wp:paragraph --></div> <!-- /wp:column --></div> <!-- /wp:columns --> <!-- wp:spacer {"height":"12px"} --> <div style="height:12px" aria-hidden="true" class="wp-block-spacer"></div> <!-- /wp:spacer --></div> <!-- /wp:group --></a> <!-- /wp:rediscustom/linkwrapper --> </div> <header class="header-main"> <div class="header-main-outer"> <div class="header-main-wrap"> <a href="https://redis.io/" class="logo-primary"> <img class="logo-full" width="117px" height="40px" src="https://redis.io/wp-content/uploads/2024/04/Logotype.svg?auto=webp&quality=85,75&width=120" alt="White Redis Logo"> </a> <a id="mobile-sub-menu-back-btn" class="desktop-hidden" href="javascript:void(0);">Back</a> <nav class="nav-primary"> <!-- Primary navigation menu --> <div class="menu-nav-primary-container"> <ul id="menu-nav-primary" class="menu"> <!-- Top-level menu item --> <li id="menu-item-167779" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-167779 special-menu-link sub-menu-toggler "> <span class="inner"> <!-- Menu item title --> <span title="Redis for AI"><a href="/redis-for-ai/">Redis for AI</a></span> </span> </li> <!-- Top-level menu item --> <li id="menu-item-163976" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-163976 sub-menu-toggler "> <span class="inner"> <!-- Menu item title --> <span title="Products">Products</span> </span> <ul class="sub-menu"> <!-- First column of megamenu --> <!-- Second column of megamenu --> <!-- Third column of megamenu --> <!-- First column of megamenu --> <!-- Second column of megamenu --> <!-- Third column of megamenu --> <!-- First column of megamenu --> <!-- Second column of megamenu --> <!-- Third column of megamenu --> <div class="column-1"> <!-- First column of megamenu --> <li id="menu-item-163977" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-163977 col-1 two-grid subcustom"> <span>Products</span><ul class="sub-menu"><li id="menu-item-163978" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-163978 "> <a href="/cloud/"> Redis Cloud<span class="subcontent">Fully managed and integrated with Google Cloud, Azure, and AWS.</span></a> <ul class="sub-menu"></ul> </li><li id="menu-item-163984" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-163984 "> <a href="/redis-for-ai"> Redis for AI<span class="subcontent">Build the fastest, most reliable GenAI apps with our advanced vector database.</span></a> <ul class="sub-menu"></ul> </li><li id="menu-item-163983" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-163983 "> <a href="/software/"> Redis Software<span class="subcontent">Self-managed software with enterprise-grade compliance and reliability.</span></a> <ul class="sub-menu"></ul> </li><li id="menu-item-163980" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-163980 "> <a href="/data-integration/"> Redis Data Integration (RDI)<span class="subcontent">Synchronize data in near-real time to make data fast—without writing code.</span></a> <ul class="sub-menu"></ul> </li><li id="menu-item-163982" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-163982 "> <a href="/community-edition/"> Community Edition<span class="subcontent">In-memory database for caching &#038; streaming.</span></a> <ul class="sub-menu"></ul> </li></ul> </li> </div> <div class="column-3"> <!-- Third column of megamenu --> <li id="menu-item-163985" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-163985 col-3"> <span>Tools</span><ul class="sub-menu"><li id="menu-item-163986" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-163986 "> <a href="/insight/"> Redis Insight</a> <ul class="sub-menu"></ul> </li><li id="menu-item-163987" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-163987 "> <a href="/clients/"> Clients and connectors</a> <ul class="sub-menu"></ul> </li></ul> </li><li id="menu-item-163988" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-163988 col-3"> <span>Get Redis</span><ul class="sub-menu"><li id="menu-item-163989" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-163989 submenu-btn"> <a href="/downloads/"> Downloads</a> <ul class="sub-menu"></ul> </li></ul> </li> </div> </ul> </li> <!-- Top-level menu item --> <li id="menu-item-163990" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-163990 sub-menu-toggler "> <span class="inner"> <!-- Menu item title --> <span title="Resources">Resources</span> </span> <ul class="sub-menu"> <!-- First column of megamenu --> <!-- Second column of megamenu --> <!-- Third column of megamenu --> <!-- First column of megamenu --> <!-- Second column of megamenu --> <!-- Third column of megamenu --> <!-- First column of megamenu --> <!-- Second column of megamenu --> <!-- Third column of megamenu --> <!-- First column of megamenu --> <!-- Second column of megamenu --> <!-- Third column of megamenu --> <div class="column-1"> <!-- First column of megamenu --> <li id="menu-item-163991" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-163991 col-1 three-grid"> <span>CONNECT</span><ul class="sub-menu"><li id="menu-item-163992" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-163992 "> <a href="/customers/"> Customer Stories</a> <ul class="sub-menu"></ul> </li><li id="menu-item-163996" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-163996 "> <a href="https://redis.io/partners/"> Partners</a> <ul class="sub-menu"></ul> </li><li id="menu-item-163993" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-163993 "> <a href="/support/"> Support</a> <ul class="sub-menu"></ul> </li><li id="menu-item-163994" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-163994 "> <a href="/community/"> Community</a> <ul class="sub-menu"></ul> </li><li id="menu-item-163995" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-163995 "> <a href="/events/"> Events & Webinars</a> <ul class="sub-menu"></ul> </li><li id="menu-item-163997" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-163997 "> <a href="https://redis.io/services/professional-services/"> Professional Services</a> <ul class="sub-menu"></ul> </li></ul> </li><li id="menu-item-163998" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-163998 col-1 three-grid"> <span>Learn</span><ul class="sub-menu"><li id="menu-item-163999" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-163999 "> <a href="/docs/"> Docs</a> <ul class="sub-menu"></ul> </li><li id="menu-item-164000" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-164000 "> <a href="/commands/"> Commands</a> <ul class="sub-menu"></ul> </li><li id="menu-item-164001" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-164001 "> <a href="/docs/get-started/"> Quick starts</a> <ul class="sub-menu"></ul> </li><li id="menu-item-164002" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-164002 "> <a href="/learn/"> Tutorials</a> <ul class="sub-menu"></ul> </li><li id="menu-item-164003" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-164003 "> <a href="/university/"> University</a> <ul class="sub-menu"></ul> </li><li id="menu-item-164004" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-164004 "> <a href="/kb/"> Knowledge base</a> <ul class="sub-menu"></ul> </li><li id="menu-item-164005" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-164005 "> <a href="/resources/"> Resources</a> <ul class="sub-menu"></ul> </li><li id="menu-item-164006" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-164006 "> <a href="/blog/"> Blog</a> <ul class="sub-menu"></ul> </li></ul> </li> </div> <div class="column-3"> <!-- Third column of megamenu --> <li id="menu-item-164007" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-164007 col-3"> <span>LATEST</span><ul class="sub-menu"><li id="menu-item-164008" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-164008 "> <a href="/release/"> Releases</a> <ul class="sub-menu"></ul> </li><li id="menu-item-164009" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-164009 "> <a href="/company/news/"> News & updates</a> <ul class="sub-menu"></ul> </li></ul> </li><li id="menu-item-164010" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-164010 col-3"> <span>See how it works</span><ul class="sub-menu"><li id="menu-item-164011" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-164011 submenu-btn"> <a href="/demo-center/"> Visit Demo Center</a> <ul class="sub-menu"></ul> </li></ul> </li> </div> </ul> </li> <!-- Top-level menu item --> <li id="menu-item-164012" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-164012 center-submenu sub-menu-toggler "> <span class="inner"> <!-- Menu item title --> <span title="Docs"><a href="/docs/">Docs</a></span> </span> </li> <!-- Top-level menu item --> <li id="menu-item-164013" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-164013 sub-menu-toggler "> <span class="inner"> <!-- Menu item title --> <span title="Pricing"><a href="/pricing/">Pricing</a></span> </span> </li> </ul> <!-- Mobile buttons --> <div class="mobile-buttons"> <!-- wp:columns {"verticalAlignment":"center","className":"margin-bottom-0"} --> <div class="wp-block-columns are-vertically-aligned-center margin-bottom-0"><!-- wp:column {"verticalAlignment":"center","width":"140px"} --> <div class="wp-block-column is-vertically-aligned-center" style="flex-basis:140px"><!-- wp:buttons --> <div class="wp-block-buttons"><!-- wp:button {"textColor":"white","className":"menu-primary-btn"} --> <div class="wp-block-button menu-primary-btn"><a class="wp-block-button__link has-white-color has-text-color wp-element-button" href="/try-free/">Try Redis</a></div> <!-- /wp:button --></div> <!-- /wp:buttons --></div> <!-- /wp:column --> <!-- wp:column {"verticalAlignment":"center","width":"130px"} --> <div class="wp-block-column is-vertically-aligned-center" style="flex-basis:130px"><!-- wp:rediscustom/linkwrapper {"id":"nav-contact","url":"/meeting/"} --> <a href="/meeting/" id="nav-contact" class="wp-block-rediscustom-linkwrapper redislink-wrapper undefined" target="" rel="noopener"><!-- wp:paragraph {"className":"menu-secondary-btn"} --> <p class="menu-secondary-btn">Book a meeting</p> <!-- /wp:paragraph --></a> <!-- /wp:rediscustom/linkwrapper --></div> <!-- /wp:column --> <!-- wp:column {"verticalAlignment":"center","width":"80px"} --> <div class="wp-block-column is-vertically-aligned-center" style="flex-basis:80px"><!-- wp:paragraph {"className":"menu-txt-cta "} --> <p class="menu-txt-cta"><a href="https://app.redislabs.com/" target="_blank" rel="noreferrer noopener">Login</a></p> <!-- /wp:paragraph --></div> <!-- /wp:column --></div> <!-- /wp:columns --> </div> </div> <!-- Mobile menu --> <div class="mobile-sub-menu" style="display:none;"> <div class="mobile-sub-menu-content"></div> </div> </nav> <nav class="nav-utility" data-header="nav-utility"> <a href="javascript:void(0);" class="header-search" href="#"> <img alt="search" width="21px" height="21px" src="/wp-content/themes/redislabs-glide/assets/src/images/search-icon.svg"> </a> <!-- wp:columns {"verticalAlignment":"center","className":"margin-bottom-0"} --> <div class="wp-block-columns are-vertically-aligned-center margin-bottom-0"><!-- wp:column {"verticalAlignment":"center","width":"80px"} --> <div class="wp-block-column is-vertically-aligned-center" style="flex-basis:80px"><!-- wp:paragraph {"className":"margin-top-0 margin-bottom-0"} --> <p class="margin-top-0 margin-bottom-0"><a href="https://cloud.redis.io">Login</a></p> <!-- /wp:paragraph --></div> <!-- /wp:column --> <!-- wp:column {"verticalAlignment":"center","width":"130px"} --> <div class="wp-block-column is-vertically-aligned-center" style="flex-basis:130px"><!-- wp:rediscustom/linkwrapper {"id":"nav-contact","url":"/meeting/"} --> <a href="/meeting/" id="nav-contact" class="wp-block-rediscustom-linkwrapper redislink-wrapper undefined" target="" rel="noopener"> <!-- wp:paragraph {"className":"margin-top-0 margin-bottom-0"} --> <p class="margin-top-0 margin-bottom-0">Book a meeting</p> <!-- /wp:paragraph --> </a> <!-- /wp:rediscustom/linkwrapper --></div> <!-- /wp:column --> <!-- wp:column {"verticalAlignment":"center","width":"140px"} --> <div class="wp-block-column is-vertically-aligned-center" style="flex-basis:140px"><!-- wp:buttons --> <div class="wp-block-buttons"><!-- wp:button {"textColor":"white"} --> <div class="wp-block-button"><a class="try-free-header wp-block-button__link has-white-color has-text-color wp-element-button" href="/try-free/">Try Redis</a></div> <!-- /wp:button --></div> <!-- /wp:buttons --></div> <!-- /wp:column --></div> <!-- /wp:columns --> <a href="#" class="toggle-tablet-menu" data-header="toggle-tablet-menu"> <div class="responsive-menu hide"></div> <span></span> <span></span> <span></span> </a> <div class="nav-mobile-close"> <div class="nav-mobile-close-inner"> <a class="close-nav-mobile" data-mobile="close-nav-mobile"> <img alt="close" src="/wp-content/themes/redislabs-glide/assets/dist/images/close-icon.svg"> </a> </div> </div> </nav> <div class="search-model-main"> <div class="search-model-inner"> <div class="search-model-close-btn"><img decoding="async" src="/wp-content/uploads/2023/11/UI-Flexible.svg?auto=webp&quality=85,75&width=80" alt="" style="object-fit:cover;width:20px;height:20px" loading="lazy"></div> <div class="search-model-wrap" data-header="search-wrap"> <div class="pop-up-content-wrap"> <div class="header-search-title">Search</div> <form id="searchForm" action="https://redis.io" method="get"> <div class="searchbox"> <label for="searchInput">Search:</label> <input type="text" name="s" placeholder="Search" id="search-field" maxlength="100" data-header="search-field"> <button type="submit"><img src="/wp-content/themes/redislabs-glide/assets/src/images/search-icon.svg"></button> </div> </form> </div> </div> </div> </div> </div> </div> </header> <div class="bounds"> <div class="bounds-inner"> <section id="hero-block_f1772488e08d5623278ff4badc8dd5c7" class="home-banner wp-block-group alignfull bgmidnight"> <div class="wrapper"> <div class="banner text-center"> <h1 class="heading"> <span>Your app is about </span><span>to get faster</span></h1> <p class="subhead heading-3">Deliver faster <span>experiences</span> with the fastest cache.</p> <div class="two-row-button justify-center"> <a href="/try-free/" target="" class=" cta-primary m-10 shuffle ">Try for free</a><a href="/meeting/" target="" class=" cta-txt-white arrow-btn m-10 ">Get a demo</a> </div> </div> </div> <div class="bg-texture"></div> </section> <section id="logo-list-block_1210ae6718d3800d7c2485cc6df891a1" class=" logo-list-section wp-block-group alignfull bgwhite full-section"> <div class="wrapper"> <div class="splide logo-fpo text-center"> <div class="splide__track"> <div class="splide__list"> <div class="splide__slide"> <img decoding="async" src="https://redis.io/wp-content/uploads/2024/09/adobe-logo.svg?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=200" width="200" height="40" alt="" loading="eager"> </div> <div class="splide__slide"> <img decoding="async" src="https://redis.io/wp-content/uploads/2024/09/zapier-logo.svg?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=200" width="200" height="40" alt="" loading="eager"> </div> <div class="splide__slide"> <img decoding="async" src="https://redis.io/wp-content/uploads/2024/09/ibm-logo.svg?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=200" width="200" height="40" alt="" loading="eager"> </div> <div class="splide__slide"> <img decoding="async" src="https://redis.io/wp-content/uploads/2024/09/mercedes-logo.svg?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=200" width="200" height="40" alt="" loading="lazy"> </div> <div class="splide__slide"> <img decoding="async" src="https://redis.io/wp-content/uploads/2024/09/uber-logo-1.svg?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=200" width="200" height="40" alt="" loading="lazy"> </div> <div class="splide__slide"> <img decoding="async" src="https://redis.io/wp-content/uploads/2024/09/jetblue-logo.svg?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=200" width="200" height="40" alt="" loading="lazy"> </div> <div class="splide__slide"> <img decoding="async" src="https://redis.io/wp-content/uploads/2024/09/capitalone-logo.svg?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=200" width="200" height="40" alt="" loading="lazy"> </div> <div class="splide__slide"> <img decoding="async" src="https://redis.io/wp-content/uploads/2024/09/dicks-logo.svg?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=200" width="200" height="40" alt="" loading="lazy"> </div> <div class="splide__slide"> <img decoding="async" src="https://redis.io/wp-content/uploads/2024/09/siriusxm-logo.svg?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=200" width="200" height="40" alt="" loading="lazy"> </div> <div class="splide__slide"> <img decoding="async" src="https://redis.io/wp-content/uploads/2024/09/unity-logo.svg?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=200" width="200" height="40" alt="" loading="lazy"> </div> <div class="splide__slide"> <img decoding="async" src="https://redis.io/wp-content/uploads/2024/09/fiver-logo.svg?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=200" width="200" height="40" alt="" loading="lazy"> </div> <div class="splide__slide"> <img decoding="async" src="https://redis.io/wp-content/uploads/2024/09/britishairways-logo.svg?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=200" width="200" height="40" alt="" loading="lazy"> </div> <div class="splide__slide"> <img decoding="async" src="https://redis.io/wp-content/uploads/2024/09/intel-logo.svg?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=200" width="200" height="40" alt="" loading="lazy"> </div> <div class="splide__slide"> <img decoding="async" src="https://redis.io/wp-content/uploads/2024/09/waze-logo.svg?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=200" width="200" height="40" alt="" loading="lazy"> </div> <div class="splide__slide"> <img decoding="async" src="https://redis.io/wp-content/uploads/2024/09/niantic-logo.svg?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=200" width="200" height="40" alt="" loading="lazy"> </div> </div> </div> </div> </div> </section> <div class="wp-block-group alignfull bgmidnight"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained"> <section id="icon-box-block_94a71110455cfe348402a551824eb584" class=" wp-block-group alignfull bgmidnight space-108"> <div class="wrapper"> <div class="cards-block"> <h2 class="text-center">Work really simply in real time</h2> <div class="double-cta-blocks"> <div class="column duskbg"> <div class="ttl"> <h3 class="margin-bottom-0">Community Edition</h3> </div> <div class="graphic"><img fetchpriority="high" decoding="async" src="https://redis.io/wp-content/uploads/2024/04/Redis_Desktop_01_Home_M2_Illustration01.svg?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=400" width="400" height="400" alt="" loading="lazy"></div> <div class="links-row"> <a href="/downloads/#stack" target="" class=" linkbox cta-only-txt-white ">Download</a><a href="/docs/latest/operate/oss_and_stack/" target="" class=" linkbox cta-only-txt-white ">View docs</a> </div> </div> <div class="column midnightbg"> <div class="ttl"> <h3 class="margin-bottom-0">Redis Cloud</h3> </div> <div class="graphic"><img decoding="async" src="https://redis.io/wp-content/uploads/2024/04/Redis_Desktop_01_Home_M2_Illustration02.svg?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=400" width="400" height="400" alt="" loading="lazy"></div> <div class="links-row"> <a href="/cloud/" target="" class=" linkbox cta-only-txt-white ">Learn more</a><a href="/docs/latest/operate/rc/" target="" class=" linkbox cta-only-txt-white ">View docs</a> </div> </div> <div class="column redis-linkbg"> <div class="ttl"> <h3 class="margin-bottom-0">Redis Software</h3> </div> <div class="graphic"><img decoding="async" src="https://redis.io/wp-content/uploads/2024/04/Redis_Desktop_01_Home_M2_Illustration03.svg?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=400" width="400" height="400" alt="" loading="lazy"></div> <div class="links-row"> <a href="/enterprise/" target="" class=" linkbox cta-only-txt-white ">Learn more</a><a href="/docs/latest/operate/rs/" target="" class=" linkbox cta-only-txt-white ">View docs</a> </div> </div> </div> <div class="two-row-button justify-center"> <a href="/demo-center/" target="" class=" cta-primary shuffle ">Visit demo center</a></div> </div> </div> </section> </div></div> <div class="wp-block-group bgmidnight alignfull seperator-line"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained"> <hr class="wp-block-separator has-text-color has-alpha-channel-opacity has-background is-style-wide" style="background-color:#5c707a;color:#5c707a"> </div></div> <section id="faq-block_0551d95c11e5b4824d49a21587793e41" class=" wp-block-group alignfull bgmidnight space-108"> <div class="wrapper"> <div class="wp-block-accordion accordion-with-code"> <h2 class="accordion-title text-center">Spend more time building</h2> <div class="accordion-listing"> <div class="accordion-container"> <div class="accordion-row cl-yellow single_item" data-tabsstatus="single_item"> <h3 class="accordion-title active"> Cache <i class="icon-plus accordion-control"> <img decoding="async" src="/wp-content/themes/redislabs-glide/assets/dist/images/plus-white.svg?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=12" alt="plus-white" width="12" height="12" loading="lazy"> </i> <i class="icon-minus accordion-control"> <img decoding="async" src="/wp-content/themes/redislabs-glide/assets/dist/images/minus-white.svg?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=12" alt="minus-white" width="12" height="12" loading="lazy"> </i> </h3> <div class="accordion-content show"> <div class="acc-con-space"> <div class="info-content"> <p>Build better experiences that grow with you—with accessible, enterprise-grade caching built by the devs who brought you open source Redis.</p> </div> <div class="code-listing-row"> <div class="listing-data"> <div class="item-row-data codesnippt single_item"> <pre><code class="hljs">res11 = r.json().set("newbike", "$", ["Deimos", {"crashes": 0}, None])<br> print(res11) # &gt;&gt;&gt; True<br> <br> res12 = r.json().get("newbike", "$")<br> print(res12) # &gt;&gt;&gt; ['["Deimos", { "crashes": 0 }, null]']<br> <br> res13 = r.json().get("newbike", "$[1].crashes")<br> print(res13) # &gt;&gt;&gt; ['0']<br> <br> res14 = r.json().delete("newbike", "$.[-1]")<br> print(res14) # &gt;&gt;&gt; [1]<br> <br> res15 = r.json().get("newbike", "$")<br> print(res15) # &gt;&gt;&gt; [['Deimos', {'crashes': 0}]]</code></pre> <button class="copy-btn"> <span class="copyIcon"> <img decoding="async" src="/wp-content/themes/redislabs-glide/assets/src/images/copy-icon.svg?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=36" alt="Copy Icon" width="36" height="36" loading="lazy"> </span> <span class="copyText d-none"> Copied!</span> <span class="copyIconTick d-none"> <img decoding="async" src="/wp-content/themes/redislabs-glide/assets/src/images/copy-tick-icon.svg?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=17" alt="Tick Icon" width="17" height="12" loading="lazy"> </span> </button></div> </div> </div> </div> <div class="row-btn"> <a href="/solutions/caching/" target="" class=" cta-primary shuffle ">Learn more</a> </div> </div> </div> <div class="accordion-row cl-violet single_item" data-tabsstatus="single_item"> <h3 class="accordion-title "> Vector <i class="icon-plus accordion-control"> <img decoding="async" src="/wp-content/themes/redislabs-glide/assets/dist/images/plus-white.svg?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=12" alt="plus-white" width="12" height="12" loading="lazy"> </i> <i class="icon-minus accordion-control"> <img decoding="async" src="/wp-content/themes/redislabs-glide/assets/dist/images/minus-white.svg?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=12" alt="minus-white" width="12" height="12" loading="lazy"> </i> </h3> <div class="accordion-content "> <div class="acc-con-space"> <div class="info-content"> <p>The best results are the results you were searching for. Make your AI app smarter and faster with streamlined document search, recommendation systems, semantic caching, and Retrieval Augmented Generation (RAG).</p> </div> <div class="code-listing-row"> <div class="listing-data"> <div class="item-row-data codesnippt single_item"> <pre><code class="hljs"># Create a vector index using the HNSW algorithm, 768 dimension length, and inner product distance metric<br> &gt; FT.CREATE idx-videos ON HASH PREFIX 1 video: SCHEMA content_vector VECTOR HNSW 6 TYPE FLOAT32 DIM 768 DISTANCE_METRIC IP content TEXT metadata TEXT<br> <br> # Add a video vector with metadata<br> &gt; HSET video:0 content_vector "\xa4q\t=\xc1\xdes\xbdZ$&lt;\xbd\xd5\xc1\x99&lt;b\xf0\xf2&lt;x[...\xf8&lt;" content "SUMMARY:\nThe video discusses the limitations of MySQL at scale and introduces Redis Enterprise" metadata "{\"id\":\"FQzlq91g7mg\",\"link\":\"https://www.youtube.com/watch?v=FQzlq91g7mg\",\"title\":\"Redis + MySQL in 60 Seconds\"}"<br> (integer) 3<br> <br> # Search for videos using a similar vector and the K-nearest neighbors algorithm<br> &gt; FT.SEARCH idx-videos "* =&gt; [KNN 3 @content_vector $vector AS vector_score]" RETURN 3 metadata content vector_score SORTBY vector_score LIMIT 0 3 PARAMS 2 vector "\b[\xb7;\x81\x12\x9c\xbc\xc6!...\xfe&lt;" DIALECT 2</code></pre> <button class="copy-btn"> <span class="copyIcon"> <img decoding="async" src="/wp-content/themes/redislabs-glide/assets/src/images/copy-icon.svg?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=36" alt="Copy Icon" width="36" height="36" loading="lazy"> </span> <span class="copyText d-none"> Copied!</span> <span class="copyIconTick d-none"> <img decoding="async" src="/wp-content/themes/redislabs-glide/assets/src/images/copy-tick-icon.svg?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=17" alt="Tick Icon" width="17" height="12" loading="lazy"> </span> </button></div> </div> </div> </div> <div class="row-btn"> <a href="/solutions/vector-search/" target="" class=" cta-primary shuffle ">Learn more</a> </div> </div> </div> <div class="accordion-row cl-violet multiple_item" data-tabsstatus="multiple_item"> <h3 class="accordion-title "> Database <i class="icon-plus accordion-control"> <img decoding="async" src="/wp-content/themes/redislabs-glide/assets/dist/images/plus-white.svg?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=12" alt="plus-white" width="12" height="12" loading="lazy"> </i> <i class="icon-minus accordion-control"> <img decoding="async" src="/wp-content/themes/redislabs-glide/assets/dist/images/minus-white.svg?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=12" alt="minus-white" width="12" height="12" loading="lazy"> </i> </h3> <div class="accordion-content "> <div class="acc-con-space"> <div class="info-content"> <p>Use Redis as your NoSQL database to build fast, reliable apps that make five-9s uptime look easy.</p> </div> <div class="s-wrapper item-row-data multiple_item Database"> <div class="tabsection code-language"> <div class="tabdingdata code-listing-row"> <div class="listing-head"> <ul class="tabs"><li class="tab-link current" data-tab="tab-1"><span>javascript</span></li><li class="tab-link " data-tab="tab-2"><span>react</span></li><li class="tab-link " data-tab="tab-3"><span>python</span></li><li class="tab-link " data-tab="tab-4"><span>linux</span></li><li class="tab-link " data-tab="tab-5"><span>.NET</span></li><li class="tab-link " data-tab="tab-6"><span>C++</span></li> </ul> </div> <!-- UL--> <div class="tab-content current tab-1"> <div class="listing-data"> <div class="item-row-data codesnippt 112"> <pre><code class="hljs language-javascript"># Create an index. In this example, all JSON documents with the key prefix 'user:' will be indexed.<br> rs = r.ft("idx:users")<br> rs.create_index(<br> schema,<br> definition=IndexDefinition(<br> prefix=["user:"], index_type=IndexType.JSON<br> )<br> )<br> <br> # Use JSON.SET to set each user value at the specified path.<br> r.json().set("user:1", Path.root_path(), user1)<br> r.json().set("user:2", Path.root_path(), user2)<br> r.json().set("user:3", Path.root_path(), user3)<br> <br> # Find the user Paul and filter the results by age.<br> res = rs.search(<br> Query("Paul @age:[30 40]")<br> )<br> <br> # Result:<br> # {1 total, docs: [Document {'id': 'user:3', 'payload': None, 'json': '{"name":"Paul Zamir","email":"<a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="f68697839ad88c979b9f84b6938e979b869a93d895999b">[email&#160;protected]</a>","age":35,"city":"Tel Aviv"}'}]}<br> <br> # b'OK'<br> </code></pre> </div> </div> </div> <div class="tab-content tab-2"> <div class="listing-data"> <div class="item-row-data codesnippt 112"> <pre><code class="hljs language-javascript"># Create an index. In this example, all JSON documents with the key prefix 'user:' will be indexed.<br> rs = r.ft("idx:users")<br> rs.create_index(<br> schema,<br> definition=IndexDefinition(<br> prefix=["user:"], index_type=IndexType.JSON<br> )<br> )<br> <br> # Use JSON.SET to set each user value at the specified path.<br> r.json().set("user:1", Path.root_path(), user1)<br> r.json().set("user:2", Path.root_path(), user2)<br> r.json().set("user:3", Path.root_path(), user3)<br> <br> # Find the user Paul and filter the results by age.<br> res = rs.search(<br> Query("Paul @age:[30 40]")<br> )<br> <br> # Result:<br> # {1 total, docs: [Document {'id': 'user:3', 'payload': None, 'json': '{"name":"Paul Zamir","email":"<a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="760617031a580c171b1f0436130e171b061a135815191b">[email&#160;protected]</a>","age":35,"city":"Tel Aviv"}'}]}<br> <br> # b'OK'<br> </code></pre> </div> </div> </div> <div class="tab-content tab-3"> <div class="listing-data"> <div class="item-row-data codesnippt 112"> <pre><code class="hljs language-python"># Create an index. In this example, all JSON documents with the key prefix 'user:' will be indexed.<br> rs = r.ft("idx:users")<br> rs.create_index(<br> schema,<br> definition=IndexDefinition(<br> prefix=["user:"], index_type=IndexType.JSON<br> )<br> )<br> <br> # Use JSON.SET to set each user value at the specified path.<br> r.json().set("user:1", Path.root_path(), user1)<br> r.json().set("user:2", Path.root_path(), user2)<br> r.json().set("user:3", Path.root_path(), user3)<br> <br> # Find the user Paul and filter the results by age.<br> res = rs.search(<br> Query("Paul @age:[30 40]")<br> )<br> <br> # Result:<br> # {1 total, docs: [Document {'id': 'user:3', 'payload': None, 'json': '{"name":"Paul Zamir","email":"<a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="562637233a782c373b3f2416332e373b263a337835393b">[email&#160;protected]</a>","age":35,"city":"Tel Aviv"}'}]}<br> <br> # b'OK'<br> </code></pre> </div> </div> </div> <div class="tab-content tab-4"> <div class="listing-data"> <div class="item-row-data codesnippt 112"> <pre><code class="hljs language-linux">set dummy $ac_prog; <br> ac_word=$2<br> set dummy $ac_tool_prefix; <br> ac_word=$2</code></pre> </div> </div> </div> <div class="tab-content tab-5"> <div class="listing-data"> <div class="item-row-data codesnippt 112"> <pre><code class="hljs language-dotnet">public enum Gender<br> {<br> Male,<br> Female<br> }<br> <br> //Set the randomizer seed if you wish to generate repeatable data sets.<br> Randomizer.Seed = new Random(8675309);<br> <br> var fruit = new[] { "apple", "banana", "orange", "strawberry", "kiwi" };<br> <br> var orderIds = 0;<br> var testOrders = new Faker<order>()<br> //Ensure all properties have rules. By default, StrictMode is false<br> //Set a global policy by using Faker.DefaultStrictMode<br> .StrictMode(true)<br> //OrderId is deterministic<br> .RuleFor(o =&gt; o.OrderId, f =&gt; orderIds++)<br> //Pick some fruit from a basket<br> .RuleFor(o =&gt; o.Item, f =&gt; f.PickRandom(fruit))<br> //A random quantity from 1 to 10<br> .RuleFor(o =&gt; o.Quantity, f =&gt; f.Random.Number(1, 10))<br> //A nullable int? with 80% probability of being null.<br> //The .OrNull extension is in the Bogus.Extensions namespace.<br> .RuleFor(o =&gt; o.LotNumber, f =&gt; f.Random.Int(0, 100).OrNull(f, .8f));<br> <br> <br> var userIds = 0;<br> var testUsers = new Faker<user>()<br> //Optional: Call for objects that have complex initialization<br> .CustomInstantiator(f =&gt; new User(userIds++, f.Random.Replace("###-##-####")))<br> <br> //Use an enum outside scope.<br> .RuleFor(u =&gt; u.Gender, f =&gt; f.PickRandom<gender>())<br> <br> //Basic rules using built-in generators<br> .RuleFor(u =&gt; u.FirstName, (f, u) =&gt; f.Name.FirstName(u.Gender))<br> .RuleFor(u =&gt; u.LastName, (f, u) =&gt; f.Name.LastName(u.Gender))<br> .RuleFor(u =&gt; u.Avatar, f =&gt; f.Internet.Avatar())<br> .RuleFor(u =&gt; u.UserName, (f, u) =&gt; f.Internet.UserName(u.FirstName, u.LastName))<br> .RuleFor(u =&gt; u.Email, (f, u) =&gt; f.Internet.Email(u.FirstName, u.LastName))<br> .RuleFor(u =&gt; u.SomethingUnique, f =&gt; $"Value {f.UniqueIndex}")<br> <br> //Use a method outside scope.<br> .RuleFor(u =&gt; u.CartId, f =&gt; Guid.NewGuid())<br> //Compound property with context, use the first/last name properties<br> .RuleFor(u =&gt; u.FullName, (f, u) =&gt; u.FirstName + " " + u.LastName)<br> //And composability of a complex collection.<br> .RuleFor(u =&gt; u.Orders, f =&gt; testOrders.Generate(3).ToList())<br> //Optional: After all rules are applied finish with the following action<br> .FinishWith((f, u) =&gt;<br> {<br> Console.WriteLine("User Created! Id={0}", u.Id);<br> });<br> <br> var user = testUsers.Generate();<br> Console.WriteLine(user.DumpAsJson());</gender></user></order></code></pre> </div> </div> </div> <div class="tab-content tab-6"> <div class="listing-data"> <div class="item-row-data codesnippt 112"> <pre><code class="hljs language-cpp">std::function<void><br> f {[&amp;f](int i){<br> // do something<br> }},<br> dummy((f(3), nullptr));</void></code></pre> </div> </div> </div><button class="copy-btn"> <span class="copyIcon"> <img decoding="async" src="/wp-content/themes/redislabs-glide/assets/src/images/copy-icon.svg?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=36" alt="Copy Icon" width="36" height="36" loading="lazy"> </span> <span class="copyText d-none"> Copied!</span> <span class="copyIconTick d-none"> <img decoding="async" src="/wp-content/themes/redislabs-glide/assets/src/images/copy-tick-icon.svg?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=17" alt="Tick Icon" width="17" height="12" loading="lazy"> </span> </button> </div> </div></div> </div> <div class="row-btn"> <a href="/json/" target="" class=" cta-primary shuffle ">Learn more</a> </div> </div> </div> </div> <div class="accordion-right"> <div class="item-row-data"> </div> </div> </div> </div> </div> </section> <div class="wp-block-group bgmidnight alignfull seperator-line"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained"> <hr class="wp-block-separator has-text-color has-alpha-channel-opacity has-background is-style-wide" style="background-color:#5c707a;color:#5c707a"> </div></div> <div class="wp-block-group bgmidnight alignfull"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained"> <section id="logo-list-block_5dd67fa7828377ad626a4e99fe88ce15" class=" wp-block-group alignfull space-108 bgmidnight"> <div class="wrapper"> <div class="stack-logos text-center"> <h3 class="ttl">Work seamlessly in your stack</h3> <div class="logo-list justify-center"> <a href="/cloud-partners/aws/" target="_blank"> <div class="logo"><img decoding="async" src="https://redis.io/wp-content/uploads/2024/04/Redis_Desktop_01_Home_M4_Logo01.svg?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=200" width="200" height="40" alt="" loading="lazy"></div> </a> <a href="/cloud-partners/google/" target="_blank"> <div class="logo"><img decoding="async" src="https://redis.io/wp-content/uploads/2024/04/Redis_Desktop_01_Home_M4_Logo02.svg?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=200" width="200" height="40" alt="" loading="lazy"></div> </a> <a href="/cloud-partners/microsoft-azure/" target="_blank"> <div class="logo"><img decoding="async" src="https://redis.io/wp-content/uploads/2024/04/Redis_Desktop_01_Home_M4_Logo03.svg?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=200" width="200" height="40" alt="" loading="lazy"></div> </a> </div> </div> </div> </section> </div></div> <div class="wp-block-group bgmidnight alignfull seperator-line"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained"> <hr class="wp-block-separator has-text-color has-alpha-channel-opacity has-background is-style-wide" style="background-color:#5c707a;color:#5c707a"> </div></div> <section id="icon-grid-block_1d669698c9381d29b0aa87cea49fcec2" class=" wp-block-group alignfull space-108 bgmidnight "> <div class="wrapper"> <div class="for-col-slide cards-block variation-two fourcol" data-count="4"> <h2 class="text-center">Find what you need to get started</h2> <div class="icon-grid-slide splide four-column-block col-5"> <div class="splide__track"> <div class="splide__list"> <div class="splide__slide"> <div class="column redicon dusk"> <a href="/docs/latest/develop/get-started/data-store/" class="anchor-block"></a> <h4 class="heading ttl">Quick Start</h4> <div class="content"> <div class="name"> <h3 class="mb-0 heading">Redis as an in-memory data structure store</h3> </div> <div class="link-icon"> <div class="column1"> <a href="/docs/latest/develop/get-started/data-store/" target="" class=" cta-txt-white arrow-btn ">Get started</a> </div> <div class="column2"> <div class="icon"> <img decoding="async" width="1" height="1" src="https://redis.io/wp-content/uploads/2024/04/Redis_Desktop_01_Home_M5_Icon01.svg?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=1" class="attachment-author-photo size-author-photo" alt="" loading="lazy"> </div> </div> </div></div> </div> </div> <div class="splide__slide"> <div class="column blueicon dusk90-bg"> <a href="/docs/latest/develop/get-started/document-database/" class="anchor-block"></a> <h4 class="heading ttl">Quick Start</h4> <div class="content"> <div class="name"> <h3 class="mb-0 heading">Redis as a document database</h3> </div> <div class="link-icon"> <div class="column1"> <a href="/docs/latest/develop/get-started/document-database/" target="" class=" cta-txt-white arrow-btn ">Get started</a> </div> <div class="column2"> <div class="icon"> <img decoding="async" width="1" height="1" src="https://redis.io/wp-content/uploads/2024/04/Redis_Desktop_01_Home_M5_Icon02.svg?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=1" class="attachment-author-photo size-author-photo" alt="" loading="lazy"> </div> </div> </div></div> </div> </div> <div class="splide__slide"> <div class="column purpleicon dusk"> <a href="/docs/latest/develop/get-started/vector-database/" class="anchor-block"></a> <h4 class="heading ttl">Quick Start</h4> <div class="content"> <div class="name"> <h3 class="mb-0 heading">Redis as a vector database</h3> </div> <div class="link-icon"> <div class="column1"> <a href="/docs/latest/develop/get-started/vector-database/" target="" class=" cta-txt-white arrow-btn ">Get started</a> </div> <div class="column2"> <div class="icon"> <img decoding="async" width="1" height="1" src="https://redis.io/wp-content/uploads/2024/04/Redis_Desktop_01_Home_M5_Icon03.svg?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=1" class="attachment-author-photo size-author-photo" alt="" loading="lazy"> </div> </div> </div></div> </div> </div> <div class="splide__slide"> <div class="column yellowicon black"> <a href="/learn/howtos/quick-start/cheat-sheet" class="anchor-block"></a> <h4 class="heading ttl">Cheat sheet</h4> <div class="content"> <div class="name"> <h3 class="mb-0 heading">Redis commands cheat sheet</h3> </div> <div class="link-icon"> <div class="column1"> <a href="/learn/howtos/quick-start/cheat-sheet" target="" class=" cta-txt-white arrow-btn ">Learn more</a> </div> <div class="column2"> <div class="icon"> <img decoding="async" width="1" height="1" src="https://redis.io/wp-content/uploads/2024/04/Redis_Desktop_01_Home_M5_Icon04.svg?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=1" class="attachment-author-photo size-author-photo" alt="" loading="lazy"> </div> </div> </div></div> </div> </div> <div class="splide__slide"> <div class="column blueicon dusk50-bg"> <a href="/learn/howtos/solutions/vector/getting-started-vector" class="anchor-block"></a> <h4 class="heading ttl">Tutorial</h4> <div class="content"> <div class="name"> <h3 class="mb-0 heading">Perform vector search using Redis in NodeJS</h3> </div> <div class="link-icon"> <div class="column1"> <a href="/learn/howtos/solutions/vector/getting-started-vector" target="" class=" cta-txt-white arrow-btn ">Learn how</a> </div> <div class="column2"> <div class="icon"> <img decoding="async" width="1" height="1" src="https://redis.io/wp-content/uploads/2024/04/Redis_Desktop_01_Home_M5_Icon02.svg?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=1" class="attachment-author-photo size-author-photo" alt="" loading="lazy"> </div> </div> </div></div> </div> </div> </div> </div> </div> <div class="two-row-button justify-center"> <a href="/resources/" target="" class=" cta-primary shuffle ">See all resources</a> </div> </div> </div> </section> <div class="modal-content video-popup-data-container" style="display: none;"> <div class="popup-model-group"> <div class="model-popup-row"> <button class="modal-close-btn js-close-btn"><img decoding="async" src="/wp-content/themes/redislabs-glide/assets/dist/images/close-icon.svg?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=500" alt="Close" loading="lazy"></button> <div class="video-play youtube-video-container" style="display: none;"> <iframe class="youtube-video-iframe" width="100%" height="100%" src="" allowfullscreen></iframe> </div> <div class="video-play vimeo-video-container" style="display: none;"> <iframe class="vimeo-video-iframe" allow="autoplay" width="100%" height="100%" src="" allowfullscreen></iframe> </div> <div class="video-play wistia-video-container" style="display: none;"> <iframe class="wistia-video-iframe" allowfullscreen msallowfullscreen width="100%" height="100%"></iframe> </div> <div class="video-play custom-iframe-container" style="display: none;"> <div class="custom-video-iframe"> </div> </div> </div> </div> </div> <div class="wp-block-group bgmidnight alignfull seperator-line"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained"> <hr class="wp-block-separator has-text-color has-alpha-channel-opacity has-background is-style-wide" style="background-color:#5c707a;color:#5c707a"> </div></div> <section id="counter-block_5ee922a2e9d585a67d6a85985dd69d89" class=" wp-block-group alignfull bgmidnight chart-animate space-108"> <div class="wrapper"> <div class="site-stats"> <div class="block-head text-center"> <h2 class="block-title "> Our cloud customers build apps—fast</h2> <div class="sub-title"> See how Redis Cloud can improve the way you operate and scale. </div> </div> <div class="stats-listing count-4"> <div class="stats-layer"> <div class="lines lines1"></div> <div class="lines lines2"></div> <div class="lines lines3"></div> <div class="lines lines4"></div> <div class="lines lines5"></div> </div> <div class="stats-counter"> <div class="columns stats-col"> <div class="item-value"> 99.999%<span>Availability</span> </div> <div class="line-bars"> <div class="bars"></div> <div class="bars"></div> <div class="bars"></div> <div class="bars"></div> <div class="bars"></div> <div class="bars"></div> <div class="bars"></div> <div class="bars"></div> <div class="bars"></div> <div class="bars"></div> <div class="bars"></div> </div> </div> <div class="columns stats-col"> <div class="item-value"> 75%<span>75% less costly than managing relational DBs</span> </div> <div class="line-bars"> <div class="bars"></div> <div class="bars"></div> <div class="bars"></div> <div class="bars"></div> <div class="bars"></div> <div class="bars"></div> <div class="bars"></div> <div class="bars"></div> <div class="bars"></div> <div class="bars"></div> <div class="bars"></div> </div> </div> <div class="columns stats-col"> <div class="item-value"> 350%<span>ROI over three years</span> </div> <div class="line-bars"> <div class="bars"></div> <div class="bars"></div> <div class="bars"></div> <div class="bars"></div> <div class="bars"></div> <div class="bars"></div> <div class="bars"></div> <div class="bars"></div> <div class="bars"></div> <div class="bars"></div> <div class="bars"></div> </div> </div> <div class="columns stats-col"> <div class="item-value"> $1M<span>Estimated savings from improved efficiency</span> </div> <div class="line-bars"> <div class="bars"></div> <div class="bars"></div> <div class="bars"></div> <div class="bars"></div> <div class="bars"></div> <div class="bars"></div> <div class="bars"></div> <div class="bars"></div> <div class="bars"></div> <div class="bars"></div> <div class="bars"></div> </div> </div> </div> </div> </div> </div> </section> <div class="wp-block-group bgmidnight alignfull seperator-line"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained"> <hr class="wp-block-separator has-text-color has-alpha-channel-opacity has-background is-style-wide" style="background-color:#5c707a;color:#5c707a"> </div></div> <div class="wp-block-group bgmidnight alignfull"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained"> <section id="customer-stories-block_b26970c8401cb5a14c8c61997b5b24b1" class=" wp-block-group alignfull bgmidnight space-108"> <div class="wrapper"> <div class="customer-stories bgmidnight"> <h2 class="text-center md-text-left">And they tell good stories</h2> <div class="story-cards gridslider"> <div class="card"> <a href="/customers/flowdesk/" class="anchor-block"></a> <h4 class="card-ttl">Customer stories </h4> <div class="card-img"> <img decoding="async" width="854" height="536" src="https://redis.io/wp-content/uploads/2024/04/Desktop_Home_M7_Image05_Flowdesk.png?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=854" class="attachment-large size-large" alt="" sizes="auto, (max-width: 854px) 100vw, 854px" loading="lazy"> <h4 class="card-tag">Finance</h4> </div> <div class="card-content"> <div class="card-logo"><img decoding="async" class="thumb-logo" src="https://redis.io/wp-content/uploads/2024/04/Desktop_Home_M7_Logo05_Flowdesk.svg?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=500" alt="" loading="lazy"></div> <div class="detail"> <p>Flowdesk implements Redis for real-time analytics, achieving 10x faster query performance and 50% reduction in infrastructure costs.</p> </div> <a href="/customers/flowdesk/" target="" class=" cta-txt-white arrow-btn ">Learn more</a> </div> </div> <div class="card"> <a href="/customers/docugami/" class="anchor-block"></a> <h4 class="card-ttl">Customer stories </h4> <div class="card-img"> <img decoding="async" width="854" height="536" src="https://redis.io/wp-content/uploads/2024/04/Desktop_Home_M7_Image01_Docugami.png?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=854" class="attachment-large size-large" alt="" sizes="auto, (max-width: 854px) 100vw, 854px" loading="lazy"> <h4 class="card-tag">SOFTWARE</h4> </div> <div class="card-content"> <div class="card-logo"><img decoding="async" class="thumb-logo" src="https://redis.io/wp-content/uploads/2024/04/Desktop_Home_M7_Logo01_Docugami.svg?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=500" alt="" loading="lazy"></div> <div class="detail"> <p><span style="font-weight: 400;">Docugami uses Redis to easily store, search, and update vector embeddings at scale.</span></p> </div> <a href="/customers/docugami/" target="" class=" cta-txt-white arrow-btn ">Learn more</a> </div> </div> <div class="card"> <a href="/customers/ekata/" class="anchor-block"></a> <h4 class="card-ttl">Customer stories </h4> <div class="card-img"> <img decoding="async" width="854" height="536" src="https://redis.io/wp-content/uploads/2024/04/Desktop_Home_M7_Image02_Ekata.png?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=854" class="attachment-large size-large" alt="" sizes="auto, (max-width: 854px) 100vw, 854px" loading="lazy"> <h4 class="card-tag">Security</h4> </div> <div class="card-content"> <div class="card-logo"><img decoding="async" class="thumb-logo" src="https://redis.io/wp-content/uploads/2024/04/Desktop_Home_M7_Logo02_Ekata.svg?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=500" alt="" loading="lazy"></div> <div class="detail"> <p>Ekata uses Auto Tiering, which requires 70% less of the expensive DRAM storage they needed before Redis.</p> </div> <a href="/customers/ekata/" target="" class=" cta-txt-white arrow-btn ">Learn more</a> </div> </div> <div class="card"> <a href="/customers/niantic/" class="anchor-block"></a> <h4 class="card-ttl">Customer stories </h4> <div class="card-img"> <img decoding="async" width="854" height="536" src="https://redis.io/wp-content/uploads/2024/04/Desktop_Home_M7_Image03_Niantic.png?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=854" class="attachment-large size-large" alt="" sizes="auto, (max-width: 854px) 100vw, 854px" loading="lazy"> <h4 class="card-tag">Mobile gaming</h4> </div> <div class="card-content"> <div class="card-logo"><img decoding="async" class="thumb-logo" src="https://redis.io/wp-content/uploads/2024/04/Desktop_Home_M7_Logo03_Niantic.svg?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=500" alt="" loading="lazy"></div> <div class="detail"> <p>Redis allows Niantic to use less overhead to balance their server load and offer great player experiences.</p> </div> <a href="/customers/niantic/" target="" class=" cta-txt-white arrow-btn ">Learn more</a> </div> </div> <div class="card"> <a href="/customers/ulta-beauty/" class="anchor-block"></a> <h4 class="card-ttl">Customer stories </h4> <div class="card-img"> <img decoding="async" width="854" height="536" src="https://redis.io/wp-content/uploads/2024/04/Desktop_Home_M7_Image06_Ulta.png?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=854" class="attachment-large size-large" alt="" sizes="auto, (max-width: 854px) 100vw, 854px" loading="lazy"> <h4 class="card-tag">Retail</h4> </div> <div class="card-content"> <div class="card-logo"><img decoding="async" class="thumb-logo" src="https://redis.io/wp-content/uploads/2024/04/Desktop_Home_M7_Logo05_Ulta.svg?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=500" alt="" loading="lazy"></div> <div class="detail"> <p>Ulta implements Redis to enhance customer experience, achieving 50% reduction in response time and scaling to handle more than 300,000 transactions per second.</p> </div> <a href="/customers/ulta-beauty/" target="" class=" cta-txt-white arrow-btn ">Learn more</a> </div> </div> <div class="card"> <a href="/customers/ifood/" class="anchor-block"></a> <h4 class="card-ttl">Customer stories </h4> <div class="card-img"> <img decoding="async" width="854" height="536" src="https://redis.io/wp-content/uploads/2024/04/Desktop_Home_M7_Image04_iFood.png?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=854" class="attachment-large size-large" alt="" sizes="auto, (max-width: 854px) 100vw, 854px" loading="lazy"> <h4 class="card-tag">Hospitality</h4> </div> <div class="card-content"> <div class="card-logo"><img decoding="async" class="thumb-logo" src="https://redis.io/wp-content/uploads/2024/04/Desktop_Home_M7_Logo04_iFood.svg?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=500" alt="" loading="lazy"></div> <div class="detail"> <p>iFood boosts performance and scalability with Redis, achieving a 50% reduction in latency and a 3x increase in throughput for its food delivery platform.</p> </div> <a href="/customers/ifood/" target="" class=" cta-txt-white arrow-btn ">Learn more</a> </div> </div> </div> <div class="two-row-button justify-center"> <a href="/customers/" target="" class=" cta-primary shuffle ">See all customer stories</a> </div> </div> </div> </section> </div></div> <div class="wp-block-group bgmidnight alignfull seperator-line"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained"> <hr class="wp-block-separator has-text-color has-alpha-channel-opacity has-background is-style-wide" style="background-color:#5c707a;color:#5c707a"> </div></div> <div class="wp-block-group alignfull bgmidnight s-section cta-quick-links space-108"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained"> <h2 class="wp-block-heading has-text-align-center">Need help? Get answers</h2> <ul class="wp-block-list"> <li><a href="/docs/" target="_blank" rel="noopener">Docs</a></li> <li><a href="/learn/">Tutorials</a></li> <li><a href="/demo-center/">Demo center</a></li> <li><a href="/pricing/">Pricing</a></li> <li><a href="/company/contact/">Contact us</a></li> </ul> <p></p> </div></div> </div> <div id="consent_blackbar"></div> <div class="footer-main"> <div class="footer-main-wrap"> <div class="footer-row"> <footer> <div class="wrapper"> <div class="footer-columns"> <div class="col-one"> <div class="logo-social-links"> <div class="footer-logo"> <a href="/"> <img alt="redis logo" loading="lazy" class="footer-logo-img" src="https://redis.io/wp-content/uploads/2024/04/footlogo.svg"> </a> </div> <div class="col-three"> <div class=" sociallinks"> <a href="https://www.facebook.com/Redisinc" target="_blank" rel="noopener"> <img src="/wp-content/themes/redislabs-glide/assets/dist/images/facebook.svg" width="11" height="20" alt="facebook-icon"> </a> <a href="https://www.youtube.com/c/redisinc" target="_blank" rel="noopener"> <img src="/wp-content/themes/redislabs-glide/assets/dist/images/Vector.svg" width="20" height="16" alt="Vector-icon"> </a> <a href="https://www.linkedin.com/company/redisinc/" target="_blank" rel="noopener"> <img src="/wp-content/themes/redislabs-glide/assets/dist/images/LinkedIn.svg" width="20" height="21" alt="LinkedIn-icon"> </a> <a href="https://www.instagram.com/redisinc/" target="_blank" rel="noopener"> <img src="/wp-content/themes/redislabs-glide/assets/dist/images/Instagram.svg" width="19" height="20" alt="Instagram-icon"> </a> <a href="https://twitter.com/Redisinc" target="_blank" rel="noopener"> <img src="/wp-content/themes/redislabs-glide/assets/dist/images/X.svg" width="19" height="20" alt="X-icon"> </a> </div> </div> </div> <div class="link-right"> <ul class="footer-copyright hidem"> <li id="menu-item-153805" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-153805"> <a href="https://trust.redis.io">Trust</a> </li> <li id="menu-item-153807" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-153807"> <a href="/legal/privacy-policy/">Privacy</a> </li> <li id="menu-item-153806" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-153806"> <a href="/legal/redis-website-terms-of-use/">Terms of use</a> </li> <li id="menu-item-164057" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-164057"> <a href="/legal/">Legal notices</a> </li> </ul> <div class="language-selector languageop hidem"> <label for="language-selector" class="hide">Select Language:</label> <select id="language-selector" class="language-select"> <option disabled="" selected="">Language</option> <option value="">English</option> <option value="es">Español</option> <option value="fr">Français</option> <option value="de">Deutsch</option> <option value="ko">한국어</option> <option value="pt">Português</option> </select> </div> </div> </div> <div class="col-two sitelinks"> <div class="cl-left"> <div class="usecase-menu"> <div class="link-title">USE CASES</div> <ul> <li id="menu-item-164049" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-164049"> <a href="https://redis.io/solutions/vector-database/">Vector database</a> </li> <li id="menu-item-165225" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-165225"> <a href="https://redis.io/solutions/feature-stores/">Feature stores</a> </li> <li id="menu-item-164047" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-164047"> <a href="/redis-for-ai/">Semantic cache</a> </li> <li id="menu-item-164048" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-164048"> <a href="https://redis.io/solutions/caching/">Caching</a> </li> <li id="menu-item-164051" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-164051"> <a href="/nosql/what-is-nosql/">NoSQL database</a> </li> <li id="menu-item-164052" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-164052"> <a href="https://redis.io/solutions/leaderboards/">Leaderboards</a> </li> <li id="menu-item-164053" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-164053"> <a href="https://redis.io/solutions/deduplication/">Data deduplication</a> </li> <li id="menu-item-164054" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-164054"> <a href="https://redis.io/solutions/messaging/">Messaging</a> </li> <li id="menu-item-164056" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-164056"> <a href="https://redis.io/solutions/authentication-token-storage/">Authentication token storage</a> </li> <li id="menu-item-164050" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-164050"> <a href="https://redis.io/solutions/fast-data-ingest/">Fast data ingest</a> </li> <li id="menu-item-164055" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-164055"> <a href="/solutions/query-caching-with-redis-enterprise/">Query caching</a> </li> <li id="menu-item-164044" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-164044"> <a href="https://redis.io/solutions/">All solutions</a> </li> </ul> </div> </div> <div class="cl-right"> <div class="menu-col-item"> <div class="link-title">INDUSTRIES</div> <ul> <li id="menu-item-164028" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-164028"> <a href="https://redis.io/industries/financial-services/">Financial Services</a> </li> <li id="menu-item-164029" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-164029"> <a href="https://redis.io/industries/gaming/">Gaming</a> </li> <li id="menu-item-164030" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-164030"> <a href="https://redis.io/industries/healthcare/">Healthcare</a> </li> <li id="menu-item-164033" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-164033"> <a href="/industries/retail/">Retail</a> </li> <li id="menu-item-164032" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-164032"> <a href="/industries/">All industries</a> </li> </ul> </div> <div class="menu-col-item"> <div class="link-title">COMPARE</div> <ul> <li id="menu-item-164035" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-164035"> <a href="https://redis.io/compare/elasticache/">Redis vs. ElastiCache</a> </li> <li id="menu-item-164036" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-164036"> <a href="https://redis.io/compare/memcached/">Redis vs. Memcached</a> </li> <li id="menu-item-164034" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-164034"> <a href="https://redis.io/compare/memorystore/">Redis vs. Memorystore</a> </li> <li id="menu-item-164037" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-164037"> <a href="/compare/community-edition/">Redis vs. Source Available</a> </li> </ul> </div> <div class="menu-col-item"> <div class="link-title">COMPANY</div> <ul> <li id="menu-item-164014" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-164014"> <a href="/company/">Mission &amp; values</a> </li> <li id="menu-item-164015" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-164015"> <a href="https://redis.io/company/team/">Leadership</a> </li> <li id="menu-item-164016" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-164016"> <a href="https://redis.io/careers/">Careers</a> </li> <li id="menu-item-164017" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-164017"> <a href="https://redis.io/company/news/">News</a> </li> </ul> </div> <div class="menu-col-item"> <div class="link-title">CONNECT</div> <ul> <li id="menu-item-164038" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-164038"> <a href="/community/">Community</a> </li> <li id="menu-item-164039" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-164039"> <a href="https://redis.io/events/">Events &amp; Webinars</a> </li> </ul> </div> <div class="menu-col-item"> <div class="link-title">PARTNERS</div> <ul> <li id="menu-item-164023" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-164023"> <a href="/cloud-partners/aws/">Amazon Web Services</a> </li> <li id="menu-item-164024" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-164024"> <a href="/cloud-partners/google/">Google Cloud</a> </li> <li id="menu-item-164059" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-164059"> <a href="/cloud-partners/azure/">Azure</a> </li> <li id="menu-item-164027" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-164027"> <a href="/partners/">All partners</a> </li> </ul> </div> <div class="menu-col-item"> <div class="link-title">SUPPORT</div> <ul> <li id="menu-item-164042" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-164042"> <a href="https://redis.io/services/professional-services/">Professional Services</a> </li> <li id="menu-item-164043" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-164043"> <a href="https://redis.io/support/">Support</a> </li> </ul> </div> </div> </div> <div class="footer-bottom"> <ul class="footer-copyright"> <li id="menu-item-153805" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-153805"> <a href="https://trust.redis.io">Trust</a> </li> <li id="menu-item-153807" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-153807"> <a href="/legal/privacy-policy/">Privacy</a> </li> <li id="menu-item-153806" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-153806"> <a href="/legal/redis-website-terms-of-use/">Terms of use</a> </li> <li id="menu-item-164057" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-164057"> <a href="/legal/">Legal notices</a> </li> </ul> <div class="language-selector languageop"> <label for="language-selector" class="hide">Select Language:</label> <select id="language-selector" class="language-select"> <option disabled="" selected="">Language</option> <option value="">English</option> <option value="es">Español</option> <option value="fr">Français</option> <option value="de">Deutsch</option> <option value="ko">한국어</option> <option value="pt">Português</option> </select> </div> </div> </div> </footer> </div> </div> </div> <script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script><script> var SITE_ROOT = 'https://redis.io'; </script> <script> var SITE_ASSETS = 'https://redis.io/wp-content/themes/wpx/assets'; </script> <script> var SITE_THEME = 'https://redis.io/wp-content/themes/wpx'; </script> <!-- Link to stylesheet --> <link rel="stylesheet" href="https://redis.io/wp-content/themes/wpx/assets/dist/css/globals/refresh/components/blocks/group.css?ver=1744059183" media="print" onload="this.media='all'; this.onload=null;"> <!-- Fallback --> <noscript> <link rel="stylesheet" href="https://redis.io/wp-content/themes/wpx/assets/dist/css/globals/refresh/components/blocks/group.css?ver=1744059183" media="all"> </noscript> <!-- Link to stylesheet --> <link rel="stylesheet" href="https://redis.io/wp-content/themes/wpx/assets/dist/css/globals/refresh/components/blocks/paragraph.css?ver=1744059183" media="print" onload="this.media='all'; this.onload=null;"> <!-- Fallback --> <noscript> <link rel="stylesheet" href="https://redis.io/wp-content/themes/wpx/assets/dist/css/globals/refresh/components/blocks/paragraph.css?ver=1744059183" media="all"> </noscript> <!-- Link to stylesheet --> <link rel="stylesheet" href="/wp-content/themes/wpx/assets/dist/css/globals/refresh/components/blocks/buttons.css?ver=1744059183" media="print" onload="this.media='all'; this.onload=null;"> <!-- Fallback --> <noscript> <link rel="stylesheet" href="/wp-content/themes/wpx/assets/dist/css/globals/refresh/components/blocks/buttons.css?ver=1744059183" media="all"> </noscript> <!-- Link to stylesheet --> <link rel="stylesheet" href="/wp-content/themes/wpx/assets/dist/css/globals/refresh/footer/footer.css?ver=1744059183" media="print" onload="this.media='all'; this.onload=null;"> <!-- Fallback --> <noscript> <link rel="stylesheet" href="/wp-content/themes/wpx/assets/dist/css/globals/refresh/footer/footer.css?ver=1744059183" media="all"> </noscript> <!-- Link to stylesheet --> <link rel="stylesheet" href="/wp-content/themes/redislabs-glide/assets/dist/css/footer.min.css?ver=1744059185" media="print" onload="this.media='all'; this.onload=null;"> <!-- Fallback --> <noscript> <link rel="stylesheet" href="/wp-content/themes/redislabs-glide/assets/dist/css/footer.min.css?ver=1744059185" media="all"> </noscript> <link rel='stylesheet' id='highlight-js-redis-css' href='https://redis.io/wp-content/themes/redislabs-glide/assets/dist/css/highlight-js-redis.min.css?ver=1744059183' type='text/css' media='all' /> <script type="text/javascript" id="wpx-js-js-extra"> /* <![CDATA[ */ var redisJS = {"ajaxUrl":"https:\/\/redis.io\/wp-admin\/admin-ajax.php"}; /* ]]> */ </script> <script type="text/javascript" defer='defer' src="https://redis.io/wp-content/themes/wpx/assets/dist/js/app.min.js" id="wpx-js-js"></script> <script type="text/javascript" defer='defer' src="https://redis.io/wp-content/themes/redislabs-glide/assets/dist/js/bundle.min.js?ver=1744059183" id="child-theme-scripts-js"></script> <script type="text/javascript" src="https://redis.io/wp-content/themes/wpx/assets/dist/js/front-ui.min.js?ver=1744068499" id="redis-front-ui-js"></script> <script type="text/javascript" id="redis-front-ui-js-after"> /* <![CDATA[ */ const redisAjaxURL = "https://redis.io/wp-admin/admin-ajax.php"; const redisNonce = "7c154a938b"; const redisPostid = "520"; /* ]]> */ </script> <script type="text/javascript" src="https://redis.io/wp-content/themes/wpx/assets/dist/js/vendor/query-script.js?ver=1744059183" id="query-script-js"></script> <script type="text/javascript" src="https://fast.wistia.com/assets/external/E-v1.js?ver=E-v1" id="wistia-scripts-js"></script> <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.7.0/highlight.min.js" id="highlight-js-js"></script> <script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","licenseKey":"NRJS-1fedf62d6f1beddfa04","applicationID":"650495667","transactionName":"MlFUN0IDCBEEVRZZWgsbdwBECwkMSlAQX1sRGUYCVwc=","queueTime":0,"applicationTime":358,"atts":"HhZXQQoZGx8=","errorBeacon":"bam.nr-data.net","agent":""}</script></body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10