CINXE.COM

Redis Blog - Read about what’s happening at Redis

<!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 Blog - Read about what’s happening at Redis</title> <meta name="description" content="The latest on what&#039;s happening at Redis, from company news, and product announcements to tips, tricks, and how-to information for database developers." /> <link rel="canonical" href="https://redis.io/blog/" /> <link rel="next" href="https://redis.io/blog/page/2/" /> <meta property="og:locale" content="en_US" /> <meta property="og:type" content="article" /> <meta property="og:title" content="Redis Blog - Read about what’s happening at Redis" /> <meta property="og:description" content="The latest on what&#039;s happening at Redis, from company news, and product announcements to tips, tricks, and how-to information for database developers." /> <meta property="og:url" content="https://redis.io/blog/" /> <meta property="og:site_name" content="Redis" /> <meta property="og:image" content="https://redis.io/wp-content/uploads/2021/08/redis-social-1200x628-1.jpg" /> <meta property="og:image:width" content="1200" /> <meta property="og:image:height" content="628" /> <meta property="og:image:type" content="image/jpeg" /> <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","CollectionPage"],"@id":"https://redis.io/blog/","url":"https://redis.io/blog/","name":"Redis Blog - Read about what’s happening at Redis","isPartOf":{"@id":"https://redis.io/#website"},"datePublished":"2020-05-14T03:48:35+00:00","dateModified":"2024-11-22T19:06:00+00:00","description":"The latest on what's happening at Redis, from company news, and product announcements to tips, tricks, and how-to information for database developers.","breadcrumb":{"@id":"https://redis.io/blog/#breadcrumb"},"inLanguage":"en-US"},{"@type":"BreadcrumbList","@id":"https://redis.io/blog/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://redis.io/"},{"@type":"ListItem","position":2,"name":"Blog"}]},{"@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=1743958559' type='text/css' media='all' /> <link rel='stylesheet' id='blogpage-css' href='https://redis.io/wp-content/themes/wpx/assets/dist/css/critical/blogpage.css?ver=1743958559' 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=1743958559" id="benchmark-scripts-js"></script> <link rel="https://api.w.org/" href="https://redis.io/wp-json/" /><!-- 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"> <!-- 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="x-default" href="https://redis.io/blog/"> <link rel="alternate" hreflang="en" href="https://redis.io/blog/"> <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 { -moz-transition: none; background-color: #e4291e; border: 0; border-radius: 0; color: white !important; padding: 1.25rem 1.5rem 1.43rem !important; -webkit-transition: none; transition: none; } 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; } 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; } @media (max-width: 767px) { body .wp-block-group.alignfull.align-full>.wp-block-group__inner-container { padding: 0 35px!important; } } </style> <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="blog wp-embed-responsive alert-bar rcplan-nones slug-introducing-redis-7-2"> <!-- 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 current-active"> <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"> <div class="wp-block-group alignfull bgmidnight space-108 banner"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained"> <h1 class="wp-block-heading has-text-align-center mobile-text-left margin-bottom-0 has-white-color has-text-color has-link-color wp-elements-d68c14992682fd2ac32eca3e0d39a1f0">See what we think</h1> <h3 class="wp-block-heading has-text-align-center subhead mobile-text-left">Dig into insights about our products, use cases, and POVs</h3> <div class="searchbox"> <div class="wp-block-search__inside-wrapper "> <input type="text" maxlength="100" class="blog-search-field" id="search-field" placeholder="Search keyword (max 100 char)" value="" name="blog"> <button type="button" class="search-submit">' . _e('Search', 'textdomain') . '</button> </div> </div> <figure class="wp-block-image size-full absolute left-0 bottom-0 margin-bottom-0 hide-on-tablet"><img decoding="async" src="https://redis.com/wp-content/uploads/2024/04/Group-41441-1.svg?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=500" alt="" class="wp-image-154376" loading="eager"></figure> </div></div> <div class="tableau-filter-taxonomies" style="display:none;"> <div class="tableau-filter-set"> <div class="tableau-filter"> <div class="tableau-filter-search"> <i class="icon-search" data-archive-search-submit></i> <input type="text" data-archive-search placeholder="Search"> <input type="hidden" data-archive-lang value=""/> </div> <div class="dropdown-filters"> <select class="enhanced" name="category" data-archive-tax="category" data-width="resolve" data-archive-filter> <option value="">Choose category...</option> <option value="213" >Announcements</option> <option value="237" >Benchmarks</option> <option value="114" >Company</option> <option value="1493" >DBaas</option> <option value="1600" >Engineering</option> <option value="1563" >Features</option> <option value="248" >Guest Blogs</option> <option value="214" >How To and Tutorials</option> <option value="1511" >Launchpad</option> <option value="212" >New Product Announcements</option> <option value="1518" >News</option> <option value="1601" >Partners</option> <option value="1498" >Podcast</option> <option value="215" >Product Releases</option> <option value="238" >Redis Modules</option> <option value="233" >Redis Open Source</option> <option value="1588" >Redis-Cloud</option> <option value="815" >Tech</option> <option value="118" >Tech</option> <option value="249" >Tech Redis Modules</option> <option value="1" >Uncategorized</option> <option value="1506" >White Papers</option> </select> </div> </div> </div> </div> <div class="dropdown wp-block-group dropdown-blog-filter alignfull" id="dropdown-blog-filter"> <div class="desktop-dropdown"> <ul class="blog-cat"> <li class="cat-click" data-id="213" data-name="Announcements"> <a class="row-cat" href="javascript:void(0)">Announcements</a> </li> <li class="cat-click" data-id="237" data-name="Benchmarks"> <a class="row-cat" href="javascript:void(0)">Benchmarks</a> </li> <li class="cat-click" data-id="114" data-name="Company"> <a class="row-cat" href="javascript:void(0)">Company</a> </li> <li class="cat-click" data-id="1493" data-name="DBaas"> <a class="row-cat" href="javascript:void(0)">DBaas</a> </li> <li class="cat-click" data-id="1600" data-name="Engineering"> <a class="row-cat" href="javascript:void(0)">Engineering</a> </li> <li class="cat-click" data-id="1563" data-name="Features"> <a class="row-cat" href="javascript:void(0)">Features</a> </li> </ul> <div class="drop-down-cat"> <div class="more-toggle desktop-tab"><a href="javascript:void(0)">More</a></div> <ul class="morecats"> <li class="cat-click" data-id="248" data-name="Guest Blogs"> <a href="javascript:void(0)">Guest Blogs</a> </li> <li class="cat-click" data-id="214" data-name="How To and Tutorials"> <a href="javascript:void(0)">How To and Tutorials</a> </li> <li class="cat-click" data-id="1511" data-name="Launchpad"> <a href="javascript:void(0)">Launchpad</a> </li> <li class="cat-click" data-id="212" data-name="New Product Announcements"> <a href="javascript:void(0)">New Product Announcements</a> </li> <li class="cat-click" data-id="1518" data-name="News"> <a href="javascript:void(0)">News</a> </li> <li class="cat-click" data-id="1601" data-name="Partners"> <a href="javascript:void(0)">Partners</a> </li> <li class="cat-click" data-id="1498" data-name="Podcast"> <a href="javascript:void(0)">Podcast</a> </li> <li class="cat-click" data-id="215" data-name="Product Releases"> <a href="javascript:void(0)">Product Releases</a> </li> <li class="cat-click" data-id="238" data-name="Redis Modules"> <a href="javascript:void(0)">Redis Modules</a> </li> <li class="cat-click" data-id="233" data-name="Redis Open Source"> <a href="javascript:void(0)">Redis Open Source</a> </li> <li class="cat-click" data-id="1588" data-name="Redis-Cloud"> <a href="javascript:void(0)">Redis-Cloud</a> </li> <li class="cat-click" data-id="815" data-name="Tech"> <a href="javascript:void(0)">Tech</a> </li> <li class="cat-click" data-id="118" data-name="Tech"> <a href="javascript:void(0)">Tech</a> </li> <li class="cat-click" data-id="249" data-name="Tech Redis Modules"> <a href="javascript:void(0)">Tech Redis Modules</a> </li> <li class="cat-click" data-id="1" data-name="Uncategorized"> <a href="javascript:void(0)">Uncategorized</a> </li> <li class="cat-click" data-id="1506" data-name="White Papers"> <a href="javascript:void(0)">White Papers</a> </li> </ul> </div> </div> <div class="mobile-dropdown"> <div class="drop-down-cat"> <div class="more-toggle mobile-tab"><a href="javascript:void(0)">All Categories</a></div> <ul class="morecats morecats-mobile"> <li class="cat-click" data-id="213" data-name="Announcements"> <a href="javascript:void(0)">Announcements</a> </li> <li class="cat-click" data-id="237" data-name="Benchmarks"> <a href="javascript:void(0)">Benchmarks</a> </li> <li class="cat-click" data-id="114" data-name="Company"> <a href="javascript:void(0)">Company</a> </li> <li class="cat-click" data-id="1493" data-name="DBaas"> <a href="javascript:void(0)">DBaas</a> </li> <li class="cat-click" data-id="1600" data-name="Engineering"> <a href="javascript:void(0)">Engineering</a> </li> <li class="cat-click" data-id="1563" data-name="Features"> <a href="javascript:void(0)">Features</a> </li> <li class="cat-click" data-id="248" data-name="Guest Blogs"> <a href="javascript:void(0)">Guest Blogs</a> </li> <li class="cat-click" data-id="214" data-name="How To and Tutorials"> <a href="javascript:void(0)">How To and Tutorials</a> </li> <li class="cat-click" data-id="1511" data-name="Launchpad"> <a href="javascript:void(0)">Launchpad</a> </li> <li class="cat-click" data-id="212" data-name="New Product Announcements"> <a href="javascript:void(0)">New Product Announcements</a> </li> <li class="cat-click" data-id="1518" data-name="News"> <a href="javascript:void(0)">News</a> </li> <li class="cat-click" data-id="1601" data-name="Partners"> <a href="javascript:void(0)">Partners</a> </li> <li class="cat-click" data-id="1498" data-name="Podcast"> <a href="javascript:void(0)">Podcast</a> </li> <li class="cat-click" data-id="215" data-name="Product Releases"> <a href="javascript:void(0)">Product Releases</a> </li> <li class="cat-click" data-id="238" data-name="Redis Modules"> <a href="javascript:void(0)">Redis Modules</a> </li> <li class="cat-click" data-id="233" data-name="Redis Open Source"> <a href="javascript:void(0)">Redis Open Source</a> </li> <li class="cat-click" data-id="1588" data-name="Redis-Cloud"> <a href="javascript:void(0)">Redis-Cloud</a> </li> <li class="cat-click" data-id="815" data-name="Tech"> <a href="javascript:void(0)">Tech</a> </li> <li class="cat-click" data-id="118" data-name="Tech"> <a href="javascript:void(0)">Tech</a> </li> <li class="cat-click" data-id="249" data-name="Tech Redis Modules"> <a href="javascript:void(0)">Tech Redis Modules</a> </li> <li class="cat-click" data-id="1" data-name="Uncategorized"> <a href="javascript:void(0)">Uncategorized</a> </li> <li class="cat-click" data-id="1506" data-name="White Papers"> <a href="javascript:void(0)">White Papers</a> </li> </ul> </div> </div> </div> <div class="tableau-results"> <div class="tableau-results-wrap"> <div class="tableau-results-grid" data-archive="results" data-archive-language="" data-archive-api="archive" data-archive-loop="grid-blog" data-archive-number="21" data-archive-terms='{"category":[]}' data-archive-cpt="post"> <div class="column blog" data-result data-mh="result" data-tableau="result"> <a class="anchor-block" href="https://redis.io/blog/whats-new-in-two-march-2025/" ></a> <div class="ttl"> <h4 class="heding"><span></span>Blog</h4> <div class="date"> April 2, 2025 </div> </div> <div class="imgbox"> <img width="772" height="552" src="https://redis.io/wp-content/uploads/2025/04/Redis_Video_WhatsNewinTwo_March_BlogCard.png?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=772" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="What's New in Two March blog" loading="lazy"> </div> <div class="content"> <div class="name"> <h3 class="heading">What’s new in two: March 2025</h3> </div> <div class="detail"> Welcome to “What’s new in two,” your quick hit of Redis releases you might have missed in the past month. We’re covering the latest developments from March and... </div> <div class="link-icon"> <a class="cta-txt-black arrow-btn" href="https://redis.io/blog/whats-new-in-two-march-2025/" >Read now</a> </div> </div> </div> <div class="column blog" data-result data-mh="result" data-tableau="result"> <a class="anchor-block" href="https://redis.io/blog/improving-information-retrieval-with-fine-tuned-rerankers/" ></a> <div class="ttl"> <h4 class="heding"><span></span>Blog</h4> <div class="date"> March 31, 2025 </div> </div> <div class="imgbox"> <img width="772" height="552" src="https://redis.io/wp-content/uploads/2025/03/Redis_Blog_InformationRetrievalWithRerankers_BlogCard.png?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=772" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Redis Blog Information Retrieval With Rerankers Blog Card" loading="lazy"> </div> <div class="content"> <div class="name"> <h3 class="heading">Improving information retrieval with fine-tuned rerankers</h3> </div> <div class="detail"> Colab Notebook on Github Retrieval-augmented generation (RAG) is often overhyped, leading to unmet expectations after implementation. While it may seem straightforward—combining a vector database with a large language... </div> <div class="link-icon"> <a class="cta-txt-black arrow-btn" href="https://redis.io/blog/improving-information-retrieval-with-fine-tuned-rerankers/" >Read now</a> </div> </div> </div> <div class="column blog" data-result data-mh="result" data-tableau="result"> <a class="anchor-block" href="https://redis.io/blog/langgraph-redis-build-smarter-ai-agents-with-memory-persistence/" ></a> <div class="ttl"> <h4 class="heding"><span></span>Blog</h4> <div class="date"> March 28, 2025 </div> </div> <div class="imgbox"> <img width="772" height="552" src="https://redis.io/wp-content/uploads/2025/03/Redis_Blog_LangGraphIntegration_BlogCard.png?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=772" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Redis Blog LangGraph Integration Blog Card" loading="lazy"> </div> <div class="content"> <div class="name"> <h3 class="heading">LangGraph &amp; Redis: Build smarter AI agents with memory &amp; persistence</h3> </div> <div class="detail"> Today, we’re excited to introduce langgraph-checkpoint-redis, a new integration bringing Redis’ powerful memory capabilities to LangGraph. This collaboration gives developers the tools to build more effective AI agents... </div> <div class="link-icon"> <a class="cta-txt-black arrow-btn" href="https://redis.io/blog/langgraph-redis-build-smarter-ai-agents-with-memory-persistence/" >Read now</a> </div> </div> </div> <div class="column blog" data-result data-mh="result" data-tableau="result"> <a class="anchor-block" href="https://redis.io/blog/redis-vs-opensearch-whats-faster-for-genai-vector-search/" ></a> <div class="ttl"> <h4 class="heding"><span></span>Blog</h4> <div class="date"> March 27, 2025 </div> </div> <div class="imgbox"> <img width="772" height="552" src="https://redis.io/wp-content/uploads/2025/03/Redis_Blog_RedisVsOpenSearchForGenAI_BlogCard.png?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=772" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Redis vs. OpenSearch: What’s faster for GenAI &amp; vector search?" loading="lazy"> </div> <div class="content"> <div class="name"> <h3 class="heading">Redis vs. OpenSearch: What’s faster for GenAI &amp; vector search?</h3> </div> <div class="detail"> Why Redis stands out for GenAI &amp; vector search GenAI is more powerful than ever, but most apps still feel slow. Users expect instant responses, but latency and... </div> <div class="link-icon"> <a class="cta-txt-black arrow-btn" href="https://redis.io/blog/redis-vs-opensearch-whats-faster-for-genai-vector-search/" >Read now</a> </div> </div> </div> <div class="column blog" data-result data-mh="result" data-tableau="result"> <a class="anchor-block" href="https://redis.io/blog/searching-1-billion-vectors-with-redis-8/" ></a> <div class="ttl"> <h4 class="heding"><span></span>Blog</h4> <div class="date"> March 7, 2025 </div> </div> <div class="imgbox"> <img width="772" height="552" src="https://redis.io/wp-content/uploads/2025/03/Redis_Blog_OneBillionVectors_BlogCard.png?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=772" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="OneBillionVectors_BlogCard" loading="lazy"> </div> <div class="content"> <div class="name"> <h3 class="heading">Searching 1 billion vectors with Redis 8</h3> </div> <div class="detail"> As more and more companies get GenAI apps into production, we’re seeing increasing requests from customers for larger vector databases. We see use cases for a billion or... </div> <div class="link-icon"> <a class="cta-txt-black arrow-btn" href="https://redis.io/blog/searching-1-billion-vectors-with-redis-8/" >Read now</a> </div> </div> </div> <div class="column blog" data-result data-mh="result" data-tableau="result"> <a class="anchor-block" href="https://redis.io/blog/evaluating-information-retrieval-with-ndcgk-redis/" ></a> <div class="ttl"> <h4 class="heding"><span></span>Blog</h4> <div class="date"> March 6, 2025 </div> </div> <div class="imgbox"> <img width="772" height="552" src="https://redis.io/wp-content/uploads/2025/03/Redis_Blog_EvaluatingInformationRetrieval_BlogCard.png?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=772" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="blog card" loading="lazy"> </div> <div class="content"> <div class="name"> <h3 class="heading">Evaluating information retrieval with NDCG@K &amp; Redis</h3> </div> <div class="detail"> Full Colab NoteBook on Github. Evaluating information retrieval (IR) systems is essential for informed design decisions and understanding system performance. Successful companies like Amazon and Google rely heavily... </div> <div class="link-icon"> <a class="cta-txt-black arrow-btn" href="https://redis.io/blog/evaluating-information-retrieval-with-ndcgk-redis/" >Read now</a> </div> </div> </div> <div class="column blog" data-result data-mh="result" data-tableau="result"> <a class="anchor-block" href="https://redis.io/blog/whats-new-in-two-february-2025/" ></a> <div class="ttl"> <h4 class="heding"><span></span>Blog</h4> <div class="date"> March 5, 2025 </div> </div> <div class="imgbox"> <img width="772" height="552" src="https://redis.io/wp-content/uploads/2025/03/Redis_Video_WhatsNewinTwo_November_February_BlogCard.png?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=772" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="What'sNewinTwo BlogCard" loading="lazy"> </div> <div class="content"> <div class="name"> <h3 class="heading">What’s new in two: February 2025</h3> </div> <div class="detail"> Welcome to “What’s new in two,” your quick hit of Redis releases you might have missed in the past month. We’re covering the latest developments from February and... </div> <div class="link-icon"> <a class="cta-txt-black arrow-btn" href="https://redis.io/blog/whats-new-in-two-february-2025/" >Read now</a> </div> </div> </div> <div class="column blog" data-result data-mh="result" data-tableau="result"> <a class="anchor-block" href="https://redis.io/blog/get-better-rag-by-fine-tuning-embedding-models/" ></a> <div class="ttl"> <h4 class="heding"><span></span>Blog</h4> <div class="date"> March 5, 2025 </div> </div> <div class="imgbox"> <img width="772" height="552" src="https://redis.io/wp-content/uploads/2025/02/Redis_Blog_MakingRAGMoreAccurate_BlogCard.png?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=772" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="blog-card" loading="lazy"> </div> <div class="content"> <div class="name"> <h3 class="heading">Get better RAG by fine-tuning embedding models</h3> </div> <div class="detail"> Full Notebook on GitHub. Modified Notebook on GitHub. To build an effective question-answering system like RAG for finance, you need a model that understands the industry’s vocabulary. Generic... </div> <div class="link-icon"> <a class="cta-txt-black arrow-btn" href="https://redis.io/blog/get-better-rag-by-fine-tuning-embedding-models/" >Read now</a> </div> </div> </div> <div class="column blog" data-result data-mh="result" data-tableau="result"> <a class="anchor-block" href="https://redis.io/blog/smarter-memory-management-for-ai-agents-with-mem0-and-redis/" ></a> <div class="ttl"> <h4 class="heding"><span></span>Blog</h4> <div class="date"> February 20, 2025 </div> </div> <div class="imgbox"> <img width="772" height="552" src="https://redis.io/wp-content/uploads/2025/02/Redis_Blog_Mem0_BlogCard.png?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=772" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Mem0_BlogCard" loading="lazy"> </div> <div class="content"> <div class="name"> <h3 class="heading">Smarter memory management for AI agents with Mem0 and Redis</h3> </div> <div class="detail"> We’re happy to announce the integration of Mem0 with Redis, a powerful combination that enhances the capabilities of AI agents by providing efficient and scalable memory management. Mem0... </div> <div class="link-icon"> <a class="cta-txt-black arrow-btn" href="https://redis.io/blog/smarter-memory-management-for-ai-agents-with-mem0-and-redis/" >Read now</a> </div> </div> </div> <div class="column blog" data-result data-mh="result" data-tableau="result"> <a class="anchor-block" href="https://redis.io/blog/collaborative-filtering-how-to-build-a-recommender-system/" ></a> <div class="ttl"> <h4 class="heding"><span></span>Blog</h4> <div class="date"> February 18, 2025 </div> </div> <div class="imgbox"> <img width="772" height="552" src="https://redis.io/wp-content/uploads/2025/02/Redis_Blog_CollaborativeFiltering_BlogCard-1.png?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=772" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="CollaborativeFiltering_BlogCard" loading="lazy"> </div> <div class="content"> <div class="name"> <h3 class="heading">Collaborative filtering: How to build a recommender system</h3> </div> <div class="detail"> When users sit down to watch a movie on Netflix, they face a problem untold numbers of Netflix users have faced before: What to watch next? Luckily, the... </div> <div class="link-icon"> <a class="cta-txt-black arrow-btn" href="https://redis.io/blog/collaborative-filtering-how-to-build-a-recommender-system/" >Read now</a> </div> </div> </div> <div class="column blog" data-result data-mh="result" data-tableau="result"> <a class="anchor-block" href="https://redis.io/blog/redis-8-0-m03-is-out-even-more-performance-new-features/" ></a> <div class="ttl"> <h4 class="heding"><span></span>Blog</h4> <div class="date"> February 11, 2025 </div> </div> <div class="imgbox"> <img width="772" height="552" src="https://redis.io/wp-content/uploads/2025/02/Redis_Blog_Redis8.0M03_BlogCard.png?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=772" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Redis 8.0-M03 blog card" loading="lazy"> </div> <div class="content"> <div class="name"> <h3 class="heading">Redis 8.0-M03 is out. Even more performance &amp; new features.</h3> </div> <div class="detail"> We’re happy to announce the third milestone of Redis 8.0, our most advanced and performant offering yet.  As we progress toward the general availability (GA) release, we’re committed... </div> <div class="link-icon"> <a class="cta-txt-black arrow-btn" href="https://redis.io/blog/redis-8-0-m03-is-out-even-more-performance-new-features/" >Read now</a> </div> </div> </div> <div class="column blog" data-result data-mh="result" data-tableau="result"> <a class="anchor-block" href="https://redis.io/blog/you-need-more-than-a-vector-database/" ></a> <div class="ttl"> <h4 class="heding"><span></span>Blog</h4> <div class="date"> February 5, 2025 </div> </div> <div class="imgbox"> <img width="772" height="552" src="https://redis.io/wp-content/uploads/2025/01/Redis_Blog_YouNeedMoreThanAVectorDatabase_BlogCard.png?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=772" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="YouNeedMoreThanAVectorDatabase_BlogCard" loading="lazy"> </div> <div class="content"> <div class="name"> <h3 class="heading">You need more than a vector database</h3> </div> <div class="detail"> Unless you’ve been off the grid the past two years, you’ve likely come across the term “vector database” in conversations about GenAI. I joined Redis in 2022, pre-ChatGPT,... </div> <div class="link-icon"> <a class="cta-txt-black arrow-btn" href="https://redis.io/blog/you-need-more-than-a-vector-database/" >Read now</a> </div> </div> </div> <div class="column blog" data-result data-mh="result" data-tableau="result"> <a class="anchor-block" href="https://redis.io/blog/whats-the-best-embedding-model-for-semantic-caching/" ></a> <div class="ttl"> <h4 class="heding"><span></span>Blog</h4> <div class="date"> February 4, 2025 </div> </div> <div class="imgbox"> <img width="772" height="552" src="https://redis.io/wp-content/uploads/2025/01/Redis_Blog_EmbeddingModelsForSemanticCaching_BlogCard.png?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=772" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Redis Blog Embedding Models For Semantic Caching Blog Card" loading="lazy"> </div> <div class="content"> <div class="name"> <h3 class="heading">What’s the best embedding model for semantic caching?</h3> </div> <div class="detail"> Semantic caching is changing how we optimize systems reliant on large language models (LLMs). By using vector embeddings, it enables faster, cost-effective responses for similar queries. But to... </div> <div class="link-icon"> <a class="cta-txt-black arrow-btn" href="https://redis.io/blog/whats-the-best-embedding-model-for-semantic-caching/" >Read now</a> </div> </div> </div> <div class="column blog" data-result data-mh="result" data-tableau="result"> <a class="anchor-block" href="https://redis.io/blog/from-zero-to-rag-building-your-first-rag-pipeline-with-redisvl/" ></a> <div class="ttl"> <h4 class="heding"><span></span>Blog</h4> <div class="date"> February 3, 2025 </div> </div> <div class="imgbox"> <img width="772" height="552" src="https://redis.io/wp-content/uploads/2025/01/From-Zero-to-RAG-772X552-Blue.png?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=772" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" loading="lazy"> </div> <div class="content"> <div class="name"> <h3 class="heading">From zero to RAG: Building your first RAG pipeline with RedisVL</h3> </div> <div class="detail"> You know that mix of excitement and uncertainty when you’re starting something new? That’s exactly how I felt when I set out to build a Retrieval Augmented Generation... </div> <div class="link-icon"> <a class="cta-txt-black arrow-btn" href="https://redis.io/blog/from-zero-to-rag-building-your-first-rag-pipeline-with-redisvl/" >Read now</a> </div> </div> </div> <div class="column blog" data-result data-mh="result" data-tableau="result"> <a class="anchor-block" href="https://redis.io/blog/what-is-content-based-filtering/" ></a> <div class="ttl"> <h4 class="heding"><span></span>Blog</h4> <div class="date"> January 31, 2025 </div> </div> <div class="imgbox"> <img width="772" height="552" src="https://redis.io/wp-content/uploads/2025/01/What-is-content-based-filtering-772X552-Yellow.png?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=772" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="blog card What is content-based filtering" loading="lazy"> </div> <div class="content"> <div class="name"> <h3 class="heading">What is content-based filtering? A guide to building recommender systems</h3> </div> <div class="detail"> Users like options, but too many options can lead to analysis paralysis.  That’s where recommender systems come in. These tools have come a long way, making it easier... </div> <div class="link-icon"> <a class="cta-txt-black arrow-btn" href="https://redis.io/blog/what-is-content-based-filtering/" >Read now</a> </div> </div> </div> <div class="column blog" data-result data-mh="result" data-tableau="result"> <a class="anchor-block" href="https://redis.io/blog/whats-new-in-two-january-edition/" ></a> <div class="ttl"> <h4 class="heding"><span></span>Blog</h4> <div class="date"> January 31, 2025 </div> </div> <div class="imgbox"> <img width="772" height="552" src="https://redis.io/wp-content/uploads/2025/01/Redis_Video_WhatsNewinTwo_January_EventCard.png?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=772" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="What'sNewinTwo_January_EventCard" loading="lazy"> </div> <div class="content"> <div class="name"> <h3 class="heading">What’s new in two &#8211; January edition</h3> </div> <div class="detail"> Welcome to “What’s new in two,” your quick hit of Redis releases you might have missed in the past month. We’re covering the latest developments from January and... </div> <div class="link-icon"> <a class="cta-txt-black arrow-btn" href="https://redis.io/blog/whats-new-in-two-january-edition/" >Read now</a> </div> </div> </div> <div class="column blog" data-result data-mh="result" data-tableau="result"> <a class="anchor-block" href="https://redis.io/blog/what-smart-leaders-ask-about-ai-readiness-5-key-questions/" ></a> <div class="ttl"> <h4 class="heding"><span></span>Blog</h4> <div class="date"> January 30, 2025 </div> </div> <div class="imgbox"> <img width="772" height="552" src="https://redis.io/wp-content/uploads/2025/01/AI-readiness-5-key-questions-772X552.png?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=772" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="AI readiness 5 key questions" loading="lazy"> </div> <div class="content"> <div class="name"> <h3 class="heading">What smart leaders ask about AI readiness: 5 key questions</h3> </div> <div class="detail"> Artificial intelligence is transforming the way organizations operate, innovate, and compete. But building an effective AI strategy requires more than just technology. It’s about leadership, a strong data-driven... </div> <div class="link-icon"> <a class="cta-txt-black arrow-btn" href="https://redis.io/blog/what-smart-leaders-ask-about-ai-readiness-5-key-questions/" >Read now</a> </div> </div> </div> <div class="column blog" data-result data-mh="result" data-tableau="result"> <a class="anchor-block" href="https://redis.io/blog/7-ways-to-modernize-your-apps/" ></a> <div class="ttl"> <h4 class="heding"><span></span>Blog</h4> <div class="date"> January 27, 2025 </div> </div> <div class="imgbox"> <img width="772" height="552" src="https://redis.io/wp-content/uploads/2025/01/Redis_Blog_7WaysToModernizeYourApps_BlogCard.png?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=772" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="blog card" loading="lazy"> </div> <div class="content"> <div class="name"> <h3 class="heading">7 ways to modernize your apps</h3> </div> <div class="detail"> Switching from legacy systems to modern architectures for apps can feel like heavy lifting—but it’s one of the most important things businesses can do today to move faster,... </div> <div class="link-icon"> <a class="cta-txt-black arrow-btn" href="https://redis.io/blog/7-ways-to-modernize-your-apps/" >Read now</a> </div> </div> </div> <div class="column blog" data-result data-mh="result" data-tableau="result"> <a class="anchor-block" href="https://redis.io/blog/5-tips-for-improving-app-performance/" ></a> <div class="ttl"> <h4 class="heding"><span></span>Blog</h4> <div class="date"> January 27, 2025 </div> </div> <div class="imgbox"> <img width="772" height="552" src="https://redis.io/wp-content/uploads/2025/01/Redis_Blog_5TipsForImprovingAppPerformance_BlogCard-772x552.png?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=772" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="title card 5 tips for improving app performance" loading="lazy"> </div> <div class="content"> <div class="name"> <h3 class="heading">5 tips for improving app performance</h3> </div> <div class="detail"> As companies scale, their systems face increasing amounts of data and traffic, putting application performance at risk. Issues such as slower response times, downtime, and even server crashes... </div> <div class="link-icon"> <a class="cta-txt-black arrow-btn" href="https://redis.io/blog/5-tips-for-improving-app-performance/" >Read now</a> </div> </div> </div> <div class="column blog" data-result data-mh="result" data-tableau="result"> <a class="anchor-block" href="https://redis.io/blog/query-engines-what-they-are-why-they-matter/" ></a> <div class="ttl"> <h4 class="heding"><span></span>Blog</h4> <div class="date"> January 15, 2025 </div> </div> <div class="imgbox"> <img width="772" height="552" src="https://redis.io/wp-content/uploads/2025/01/IMG_4947.png?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=772" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" loading="lazy"> </div> <div class="content"> <div class="name"> <h3 class="heading">Query engines: What they are &amp; why they matter</h3> </div> <div class="detail"> Get to know query engines, their benefits, and how they simplify data management for modern apps. Query engines are powerful tools for processing and retrieving data efficiently, but... </div> <div class="link-icon"> <a class="cta-txt-black arrow-btn" href="https://redis.io/blog/query-engines-what-they-are-why-they-matter/" >Read now</a> </div> </div> </div> <div class="column blog" data-result data-mh="result" data-tableau="result"> <a class="anchor-block" href="https://redis.io/blog/security-advisory-cve-2024-46981-cve-2024-51737-cve-2024-51480-cve-2024-55656/" ></a> <div class="ttl"> <h4 class="heding"><span></span>Blog</h4> <div class="date"> January 8, 2025 </div> </div> <div class="imgbox"> <img width="772" height="552" src="https://redis.io/wp-content/uploads/2025/01/blog-card-CVE-2024-46981.png?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=772" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Security Advisory: CVE-2024-46981, CVE-2024-51737, CVE-2024-51480, CVE-2024-55656" loading="lazy"> </div> <div class="content"> <div class="name"> <h3 class="heading">Security Advisory: CVE-2024-46981, CVE-2024-51737, CVE-2024-51480, CVE-2024-55656</h3> </div> <div class="detail"> What happened? As part of our ongoing effort to maintain the safety, security, and compliance posture of Redis, four security vulnerabilities in Redis and Redis Modules/Stack have been... </div> <div class="link-icon"> <a class="cta-txt-black arrow-btn" href="https://redis.io/blog/security-advisory-cve-2024-46981-cve-2024-51737-cve-2024-51480-cve-2024-55656/" >Read now</a> </div> </div> </div> <div class='wp-pagenavi' role='navigation'> <span class='pages'><!-- 1 of 40 --></span><span aria-current='page' class='current'>1</span><a class="page larger" title="Page 2" href="https://redis.io/blog/page/2/">2</a><a class="page larger" title="Page 3" href="https://redis.io/blog/page/3/">3</a><a class="page larger" title="Page 4" href="https://redis.io/blog/page/4/">4</a><a class="page larger" title="Page 5" href="https://redis.io/blog/page/5/">5</a><span class='extend'>...</span><a class="nextpostslink" rel="next" aria-label="Next Page" href="https://redis.io/blog/page/2/">»</a> </div> <div data-archive-paging="1"></div> </div> </div> </div> <div class="sk-circle loader"> <div class="sk-circle1 sk-child"></div> <div class="sk-circle2 sk-child"></div> <div class="sk-circle3 sk-child"></div> <div class="sk-circle4 sk-child"></div> <div class="sk-circle5 sk-child"></div> <div class="sk-circle6 sk-child"></div> <div class="sk-circle7 sk-child"></div> <div class="sk-circle8 sk-child"></div> <div class="sk-circle9 sk-child"></div> <div class="sk-circle10 sk-child"></div> <div class="sk-circle11 sk-child"></div> <div class="sk-circle12 sk-child"></div> </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> 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/layout/single.css?ver=1743958559" 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/layout/single.css?ver=1743958559" 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=1743958559" 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=1743958559" media="all"> </noscript> <!-- Link to stylesheet --> <link rel="stylesheet" href="https://redis.io/wp-content/themes/wpx/assets/dist/css/globals/refresh/components/blocks/table.css?ver=1743958559" 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/table.css?ver=1743958559" media="all"> </noscript> <!-- Link to stylesheet --> <link rel="stylesheet" href="/wp-content/themes/wpx/assets/dist/css/globals/refresh/components/blocks/buttons.css?ver=1743958559" 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=1743958559" media="all"> </noscript> <!-- Link to stylesheet --> <link rel="stylesheet" href="/wp-content/themes/wpx/assets/dist/css/globals/refresh/components/shortcodes/post.css?ver=1743958559" media="print" onload="this.media='all'; this.onload=null;"> <link rel="stylesheet" href="/wp-content/themes/wpx/assets/dist/css/globals/refresh/components/blocks/group.css?ver=1743958559" media="print" onload="this.media='all'; this.onload=null;"> <link rel="stylesheet" href="/wp-content/themes/wpx/assets/dist/css/globals/refresh/components/sidebar.css?ver=1743958559" 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/shortcodes/post.css?ver=1743958559" media="all"> <link rel="stylesheet" href="/wp-content/themes/wpx/assets/dist/css/globals/refresh/components/blocks/group.css?ver=1743958559" media="all"> <link rel="stylesheet" href="/wp-content/themes/wpx/assets/dist/css/globals/refresh/components/sidebar.css?ver=1743958559" media="all"> </noscript> <!-- Link to stylesheet --> <link rel="stylesheet" href="/wp-content/themes/wpx/assets/dist/css/globals/refresh/footer/footer.css?ver=1743958559" 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=1743958559" media="all"> </noscript> <!-- Link to stylesheet --> <link rel="stylesheet" href="/wp-content/themes/wpx/assets/dist/css/globals/refresh/components/forms.css?ver=1743958559" 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/forms.css?ver=1743958559" media="all"> </noscript> <!-- Link to stylesheet --> <link rel="stylesheet" href="/wp-content/themes/redislabs-glide/assets/dist/css/footer.min.css?ver=1743958559" 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=1743958559" media="all"> </noscript> <style id='core-block-supports-inline-css' type='text/css'> .wp-elements-d68c14992682fd2ac32eca3e0d39a1f0 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--white);}.wp-elements-b35578cef769b5ccfdbc6260f7fe35e9 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--black);}.wp-elements-8789fa111e44aca9d5a6bce8b1fbc229 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--black);}.wp-elements-28b44641b78378ef51631b2ca35b4b34 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--black);}.wp-elements-e4327025a99821cca5de908ac2a14332 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--black);}.wp-elements-61558b0ec2fdf781573990c3d2d986bf a:where(:not(.wp-element-button)){color:var(--wp--preset--color--black);}.wp-elements-1c97a7f2f7bf9220e58025fab166bc2a a:where(:not(.wp-element-button)){color:var(--wp--preset--color--black);} </style> <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=1743802438" 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=1744015548" 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 = "39cf19530b"; const redisPostid = "139262"; /* ]]> */ </script> <script type="text/javascript" src="https://redis.io/wp-content/themes/wpx/assets/dist/js/vendor/query-script.js?ver=1743958559" id="query-script-js"></script> <script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","licenseKey":"NRJS-1fedf62d6f1beddfa04","applicationID":"650495667","transactionName":"MlFUN0IDCBEEVRZZWgsbdwBECwkMSl8MVFAd","queueTime":0,"applicationTime":424,"atts":"HhZXQQoZGx8=","errorBeacon":"bam.nr-data.net","agent":""}</script></body> </html>

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