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="prev" href="https://redis.io/blog/page/4/" /> <link rel="next" href="https://redis.io/blog/page/6/" /> <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=1744321704' 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=1744321704' 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=1744321704" 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/page/5/"> <link rel="alternate" hreflang="en" href="https://redis.io/blog/page/5/"> <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; font-size: 12px; } .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):not(.menu-primary-btn) .wp-element-button.no-shuffle.wp-block-button__link { display: unset; } html body:not(.slug-try-free) .wp-block-buttons .wp-block-button.full-width__mobile .wp-element-button.no-shuffle.wp-block-button__link { display: block; } html body .red-arrow.cta-txt-black:before { background-position: unset!important; visibility: visible!important; } html body header.header-main .header-main-outer nav.nav-utility .wp-block-columns .wp-block-column .wp-block-button a.wp-block-button__link.try-free-header { padding: 1.35rem 1.5rem 1.47rem !important; } html body.page-template-glide-template p.max-six-fifty { line-height: 120%; } html body .bookmark a img { position: relative; top: 5px; margin-right: 24px; } @media (max-width: 767px) { html body .bookmark a { font-size: 14px!important; } } html body .wp-block-buttons .bookmark .wp-element-button.wp-block-button__link.no-shuffle:hover { color: #8A221C!important; background-color: #FFDAD8CC!important; } html body .wp-block-buttons .secondary-button .wp-element-button.wp-block-button__link.no-shuffle, html body header.header-main .header-main-wrap .nav-primary .mobile-buttons .menu-secondary-btn { 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, html body header.header-main .header-main-wrap .nav-primary .mobile-buttons .redislink-wrapper .menu-secondary-btn:hover { border: 1px solid #8A221C!important; color: #8A221C!important; background-color: #8A221C80!important; } .line-height-0 { line-height: 0!important; letter-spacing: 1.5px; } html body .video-thumb-load.redis-ai-video, html body .video-thumb-load.redis-ai-video.wp-has-aspect-ratio iframe { border-radius: 10px; } html body header.header-main .header-main-outer nav.nav-utility a { font-family: 'Space Mono'; font-weight: 400; color: #161f31!important; } html body header.header-main .header-main-outer nav.nav-utility a:hover { font-weight: 500; } @media (max-width: 767px) { body .wp-block-group.alignfull.align-full>.wp-block-group__inner-container { padding: 0 35px!important; } } .wp-block-buttons.is-layout-flex { gap: 20px; } html body .wp-block-buttons .wp-element-button.wp-block-button__link.no-shuffle { min-width: 150px; padding: 15px 24px!important; } html body .wp-block-image.video-thumb-load.redis-ai-video:after { width: 40px; height: 40px; } html body .wp-block-image.video-thumb-load.redis-ai-video:before { height: 85px; width: 85px; } @media (min-width: 1441px) and (min-width: 780px) { html body .newest-banner { min-height: 600px!important; } } @media (max-width: 1166px) { html body header.header-main .header-main-wrap .nav-primary .mobile-buttons .menu-primary-btn a.no-shuffle.wp-block-button__link { color: white!important; } html body header.header-main .header-main-wrap .nav-primary .mobile-buttons .menu-primary-btn { margin-bottom: .5rem!important; } } html body.page-template-glide-template .two-row-button p.cta-txt-black.red-arrow-2 { margin-top: 10px!important; } @media (max-width: 781px) { html body.page-template-glide-template .three-card-block.light-variation .column a { gap: 1.8rem!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 paged wp-embed-responsive paged-5 alert-bar rcplan-nones slug-net-vector-search-simplified"> <!-- 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":"/new/","isNewTab":false,"className":"full-width"} --> <a href="/new/" class="wp-block-rediscustom-linkwrapper redislink-wrapper full-width" target=""><!-- wp:group {"className":"alertbar-container","style":{"color":{"background":"#163341"}}} --> <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":"52%","className":"margin-bottom-0"} --> <div class="wp-block-column is-vertically-aligned-center margin-bottom-0" style="flex-basis:52%"><!-- wp:paragraph {"className":"margin-top-0 margin-bottom-0","style":{"typography":{"fontSize":"15px"}},"textColor":"white"} --> <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"> Redis LangCache and the next era of fast, accurate AI are here.</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 {"className":"cta green no-format margin-top-0 margin-bottom-0","style":{"color":{"text":"#dcff1e"},"typography":{"fontSize":"15px"}}} --> <p class="cta green no-format margin-top-0 margin-bottom-0 has-text-color" style="color:#dcff1e;font-size:15px">Get the details</p> <!-- /wp:paragraph --></div> <!-- /wp:column --></div> <!-- /wp:columns --> <!-- wp:spacer {"height":"12px"} --> <div style="height:12px" aria-hidden="true" class="wp-block-spacer"></div> <!-- /wp:spacer --></div> <!-- /wp:group --></a> <!-- /wp:rediscustom/linkwrapper --> </div> <header class="header-main"> <div class="header-main-outer"> <div class="header-main-wrap"> <a href="https://redis.io/" class="logo-primary"> <img class="logo-full" width="117px" height="40px" src="https://redis.io/wp-content/uploads/2024/04/Logotype.svg?auto=webp&quality=85,75&width=120" alt="White Redis Logo"> </a> <a id="mobile-sub-menu-back-btn" class="desktop-hidden" href="javascript:void(0);">Back</a> <nav class="nav-primary"> <!-- Primary navigation menu --> <div class="menu-nav-primary-container"> <ul id="menu-nav-primary" class="menu"> <!-- Top-level menu item --> <li id="menu-item-167779" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-167779 special-menu-link sub-menu-toggler "> <span class="inner"> <!-- Menu item title --> <span title="Redis for AI"><a href="/redis-for-ai/">Redis for AI</a></span> </span> </li> <!-- Top-level menu item --> <li id="menu-item-163976" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-163976 sub-menu-toggler "> <span class="inner"> <!-- Menu item title --> <span title="Products">Products</span> </span> <ul class="sub-menu"> <!-- First column of megamenu --> <!-- Second column of megamenu --> <!-- Third column of megamenu --> <!-- First column of megamenu --> <!-- Second column of megamenu --> <!-- Third column of megamenu --> <!-- First column of megamenu --> <!-- Second column of megamenu --> <!-- Third column of megamenu --> <div class="column-1"> <!-- First column of megamenu --> <li id="menu-item-163977" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-163977 col-1 two-grid subcustom"> <span>Products</span><ul class="sub-menu"><li id="menu-item-163978" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-163978 "> <a href="/cloud/"> Redis Cloud<span class="subcontent">Fully managed and integrated with Google Cloud, Azure, and AWS.</span></a> <ul class="sub-menu"></ul> </li><li id="menu-item-163984" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-163984 "> <a href="/redis-for-ai"> Redis for AI<span class="subcontent">Build the fastest, most reliable GenAI apps with our advanced vector database.</span></a> <ul class="sub-menu"></ul> </li><li id="menu-item-163983" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-163983 "> <a href="/software/"> Redis Software<span class="subcontent">Self-managed software with enterprise-grade compliance and reliability.</span></a> <ul class="sub-menu"></ul> </li><li id="menu-item-163980" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-163980 "> <a href="/data-integration/"> Redis Data Integration (RDI)<span class="subcontent">Synchronize data in near-real time to make data fast—without writing code.</span></a> <ul class="sub-menu"></ul> </li><li id="menu-item-163982" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-163982 "> <a href="/community-edition/"> Community Edition<span class="subcontent">In-memory database for caching &#038; streaming.</span></a> <ul class="sub-menu"></ul> </li></ul> </li> </div> <div class="column-3"> <!-- Third column of megamenu --> <li id="menu-item-163985" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-163985 col-3"> <span>Tools</span><ul class="sub-menu"><li id="menu-item-163986" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-163986 "> <a href="/insight/"> Redis Insight</a> <ul class="sub-menu"></ul> </li><li id="menu-item-163987" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-163987 "> <a href="/clients/"> Clients and connectors</a> <ul class="sub-menu"></ul> </li></ul> </li><li id="menu-item-163988" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-163988 col-3"> <span>Get Redis</span><ul class="sub-menu"><li id="menu-item-163989" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-163989 submenu-btn"> <a href="/downloads/"> Downloads</a> <ul class="sub-menu"></ul> </li></ul> </li> </div> </ul> </li> <!-- Top-level menu item --> <li id="menu-item-163990" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-163990 sub-menu-toggler "> <span class="inner"> <!-- Menu item title --> <span title="Resources">Resources</span> </span> <ul class="sub-menu"> <!-- First column of megamenu --> <!-- Second column of megamenu --> <!-- Third column of megamenu --> <!-- First column of megamenu --> <!-- Second column of megamenu --> <!-- Third column of megamenu --> <!-- First column of megamenu --> <!-- Second column of megamenu --> <!-- Third column of megamenu --> <!-- First column of megamenu --> <!-- Second column of megamenu --> <!-- Third column of megamenu --> <div class="column-1"> <!-- First column of megamenu --> <li id="menu-item-163991" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-163991 col-1 three-grid"> <span>CONNECT</span><ul class="sub-menu"><li id="menu-item-163992" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-163992 "> <a href="/customers/"> Customer stories</a> <ul class="sub-menu"></ul> </li><li id="menu-item-163996" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-163996 "> <a href="https://redis.io/partners/"> Partners</a> <ul class="sub-menu"></ul> </li><li id="menu-item-163993" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-163993 "> <a href="/support/"> Support</a> <ul class="sub-menu"></ul> </li><li id="menu-item-163994" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-163994 "> <a href="/community/"> Community</a> <ul class="sub-menu"></ul> </li><li id="menu-item-163995" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-163995 "> <a href="/events/"> Events & webinars</a> <ul class="sub-menu"></ul> </li><li id="menu-item-163997" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-163997 "> <a href="https://redis.io/services/professional-services/"> Professional services</a> <ul class="sub-menu"></ul> </li></ul> </li><li id="menu-item-163998" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-163998 col-1 three-grid"> <span>Learn</span><ul class="sub-menu"><li id="menu-item-163999" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-163999 "> <a href="/docs/"> Docs</a> <ul class="sub-menu"></ul> </li><li id="menu-item-164000" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-164000 "> <a href="/commands/"> Commands</a> <ul class="sub-menu"></ul> </li><li id="menu-item-164001" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-164001 "> <a href="/docs/get-started/"> Quick starts</a> <ul class="sub-menu"></ul> </li><li id="menu-item-164002" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-164002 "> <a href="/learn/"> Tutorials</a> <ul class="sub-menu"></ul> </li><li id="menu-item-164003" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-164003 "> <a href="/university/"> University</a> <ul class="sub-menu"></ul> </li><li id="menu-item-164004" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-164004 "> <a href="/kb/"> Knowledge base</a> <ul class="sub-menu"></ul> </li><li id="menu-item-164005" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-164005 "> <a href="/resources/"> Resources</a> <ul class="sub-menu"></ul> </li><li id="menu-item-164006" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-164006 "> <a href="/blog/"> Blog</a> <ul class="sub-menu"></ul> </li></ul> </li> </div> <div class="column-3"> <!-- Third column of megamenu --> <li id="menu-item-164007" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-164007 col-3"> <span>LATEST</span><ul class="sub-menu"><li id="menu-item-164008" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-164008 "> <a href="/new/"> 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-with-redis-december-edition/" ></a> <div class="ttl"> <h4 class="heding"><span></span>Blog</h4> <div class="date"> January 11, 2024 </div> </div> <div class="imgbox"> <img width="772" height="550" src="https://redis.io/wp-content/uploads/2024/01/whats-new-in-two-with-redis-blog.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-with-redis-blog" loading="lazy"> </div> <div class="content"> <div class="name"> <h3 class="heading">What’s New in Two with Redis &#8211; December Edition</h3> </div> <div class="detail"> Happy New Year! Are you a Redis enthusiast eager to stay ahead of the game with the latest releases? Welcome to my third episode of “What’s New in... </div> <div class="link-icon"> <a class="cta-txt-black arrow-btn" href="https://redis.io/blog/whats-new-in-two-with-redis-december-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/redis-driven-dataflow-for-clickstream-aggregation-with-bytewax/" ></a> <div class="ttl"> <h4 class="heding"><span></span>Blog</h4> <div class="date"> January 3, 2024 </div> </div> <div class="imgbox"> <img width="772" height="550" src="https://redis.io/wp-content/uploads/2023/12/redis-pubsub-and-bytewax-realtime-data-processing-simplified-blog.png?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=772" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Redis | Bytewax" loading="lazy"> </div> <div class="content"> <div class="name"> <h3 class="heading">Redis-driven Dataflow for Clickstream Aggregation with ByteWax</h3> </div> <div class="detail"> Explore how Redis PubSub integration with Bytewax enhances real-time data processing for clickstream aggregation. </div> <div class="link-icon"> <a class="cta-txt-black arrow-btn" href="https://redis.io/blog/redis-driven-dataflow-for-clickstream-aggregation-with-bytewax/" >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-achieves-aws-data-and-analytics-competency/" ></a> <div class="ttl"> <h4 class="heding"><span></span>Blog</h4> <div class="date"> December 19, 2023 </div> </div> <div class="imgbox"> <img width="772" height="550" src="https://redis.io/wp-content/uploads/2023/12/redis-achieves-aws-data-analytics-competency-blog.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">Redis Achieves AWS Data and Analytics Competency</h3> </div> <div class="detail"> Redis is pleased to announce that it has achieved the Amazon Web Services (AWS) Data and Analytics Competency. </div> <div class="link-icon"> <a class="cta-txt-black arrow-btn" href="https://redis.io/blog/redis-achieves-aws-data-and-analytics-competency/" >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/announcing-langchain-rag-template-powered-by-redis/" ></a> <div class="ttl"> <h4 class="heding"><span></span>Blog</h4> <div class="date"> December 18, 2023 </div> </div> <div class="imgbox"> <img width="772" height="552" src="https://redis.io/wp-content/uploads/2023/12/langchain-rag-template-card-772x552-1.png?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=772" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Announcing LangChain RAG Template Powered by Redis" loading="lazy"> </div> <div class="content"> <div class="name"> <h3 class="heading">Announcing LangChain RAG Template Powered by Redis</h3> </div> <div class="detail"> Explore the new LangChain RAG Template with Redis integration. Streamline AI development with efficient, adaptive APIs. </div> <div class="link-icon"> <a class="cta-txt-black arrow-btn" href="https://redis.io/blog/announcing-langchain-rag-template-powered-by-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-with-redis-november-edition/" ></a> <div class="ttl"> <h4 class="heding"><span></span>Blog</h4> <div class="date"> December 13, 2023 </div> </div> <div class="imgbox"> <img width="772" height="550" src="https://redis.io/wp-content/uploads/2023/12/whats-new-in-two-with-redis-blog.jpg?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-with-redis-blog" loading="lazy"> </div> <div class="content"> <div class="name"> <h3 class="heading">What’s New in Two with Redis &#8211; November Edition</h3> </div> <div class="detail"> Are you a Redis enthusiast eager to stay ahead of the game with the latest releases? Welcome to my second episode of ‘What’s New in Two’, your go-to... </div> <div class="link-icon"> <a class="cta-txt-black arrow-btn" href="https://redis.io/blog/whats-new-in-two-with-redis-november-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/powering-langchain-opengpts-with-redis-cloud/" ></a> <div class="ttl"> <h4 class="heding"><span></span>Blog</h4> <div class="date"> November 27, 2023 </div> </div> <div class="imgbox"> <img width="772" height="552" src="https://redis.io/wp-content/uploads/2023/11/langchain-opengpt-template-card-772x552-1.png?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=772" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Powering LangChain OpenGPTs With Redis Cloud" loading="lazy"> </div> <div class="content"> <div class="name"> <h3 class="heading">Powering LangChain OpenGPTs With Redis Cloud</h3> </div> <div class="detail"> Redis Cloud provides the essential persistent datastore for Langchain OpenGPTs </div> <div class="link-icon"> <a class="cta-txt-black arrow-btn" href="https://redis.io/blog/powering-langchain-opengpts-with-redis-cloud/" >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/visit-redis-at-reinvent-2023/" ></a> <div class="ttl"> <h4 class="heding"><span></span>Blog</h4> <div class="date"> November 21, 2023 </div> </div> <div class="imgbox"> <img width="771" height="552" src="https://redis.io/wp-content/uploads/2023/11/aws-reinvent-23-events-page-card-image-772x553-1.jpg?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=771" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Redis at AWS reInvent 2023" loading="lazy"> </div> <div class="content"> <div class="name"> <h3 class="heading">Visit Redis at re:Invent 2023</h3> </div> <div class="detail"> AI has suddenly arisen as a tremendous opportunity for businesses and society as a whole. </div> <div class="link-icon"> <a class="cta-txt-black arrow-btn" href="https://redis.io/blog/visit-redis-at-reinvent-2023/" >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-cloud-pci-certification/" ></a> <div class="ttl"> <h4 class="heding"><span></span>Blog</h4> <div class="date"> November 1, 2023 </div> </div> <div class="imgbox"> <img width="772" height="550" src="https://redis.io/wp-content/uploads/2023/10/redis-cloud-receives-pci-certification-blog.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">Elevating Data Security: Redis Cloud Achieves PCI DSS Certification</h3> </div> <div class="detail"> You may wonder – what exactly does this certification mean? Let us break down the importance of PCI DSS certification and how it helps you confidently deliver data-oriented... </div> <div class="link-icon"> <a class="cta-txt-black arrow-btn" href="https://redis.io/blog/redis-cloud-pci-certification/" >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-with-redis-october-edition/" ></a> <div class="ttl"> <h4 class="heding"><span></span>Blog</h4> <div class="date"> October 31, 2023 </div> </div> <div class="imgbox"> <img width="772" height="550" src="https://redis.io/wp-content/uploads/2023/10/whats-new-in-two-with-redis-blog.png?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=772" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Redis" loading="lazy"> </div> <div class="content"> <div class="name"> <h3 class="heading">What’s New in Two with Redis &#8211; October Edition </h3> </div> <div class="detail"> Welcome to ‘What’s New in Two’, the place to catch up on the Redis releases you might have missed from last month. </div> <div class="link-icon"> <a class="cta-txt-black arrow-btn" href="https://redis.io/blog/whats-new-in-two-with-redis-october-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/how-slow-queries-hurt-your-business/" ></a> <div class="ttl"> <h4 class="heding"><span></span>Blog</h4> <div class="date"> September 18, 2023 </div> </div> <div class="imgbox"> <img width="772" height="550" src="https://redis.io/wp-content/uploads/2023/09/slow-query-blog.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">How Slow Queries Hurt Your Business (and How to Fix Them)</h3> </div> <div class="detail"> Every second of delay tests a user’s patience. A seemingly minor inconvenience reflects deeper database management issues. A small hiccup can have outsized repercussions. Slow queries aren’t just... </div> <div class="link-icon"> <a class="cta-txt-black arrow-btn" href="https://redis.io/blog/how-slow-queries-hurt-your-business/" >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/migrate-from-elasticache-to-redis-enterprise/" ></a> <div class="ttl"> <h4 class="heding"><span></span>Blog</h4> <div class="date"> September 18, 2023 </div> </div> <div class="imgbox"> <img width="772" height="550" src="https://redis.io/wp-content/uploads/2023/09/3-ways-to-migrate-from-elasticache-to-redis-enterprise-cloud-blog.png?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=772" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="3 Ways to Migrate From ElastiCache to Redis Cloud" loading="lazy"> </div> <div class="content"> <div class="name"> <h3 class="heading">3 Ways to Migrate From ElastiCache to Redis Cloud</h3> </div> <div class="detail"> There are lots of choices when you migrate data from one platform to another. Fortunately, the issues are so well-understood that they are suited for a simple flow... </div> <div class="link-icon"> <a class="cta-txt-black arrow-btn" href="https://redis.io/blog/migrate-from-elasticache-to-redis-enterprise/" >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/amazon-bedrock-integration-with-redis-enterprise/" ></a> <div class="ttl"> <h4 class="heding"><span></span>Blog</h4> <div class="date"> September 13, 2023 </div> </div> <div class="imgbox"> <img width="772" height="550" src="https://redis.io/wp-content/uploads/2023/09/missing-blog-image.png?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=772" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Redis Enterprise Cloud Integration With Amazon Bedrock Now Available" loading="lazy"> </div> <div class="content"> <div class="name"> <h3 class="heading">Redis Cloud Integration With Amazon Bedrock Now Available</h3> </div> <div class="detail"> Following the recent launch of Redis 7.2, which underscores our dedication to advanced developer tools and AI innovation, Redis is thrilled to announce the integration of Redis Cloud... </div> <div class="link-icon"> <a class="cta-txt-black arrow-btn" href="https://redis.io/blog/amazon-bedrock-integration-with-redis-enterprise/" >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/introducing-google-cloud-private-serivce-connect-support-for-redis/" ></a> <div class="ttl"> <h4 class="heding"><span></span>Blog</h4> <div class="date"> September 11, 2023 </div> </div> <div class="imgbox"> <img width="772" height="550" src="https://redis.io/wp-content/uploads/2023/09/private-service-connect-support-for-redis-cloud-blog.png?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=772" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Introducing Google Cloud Private Service Connect Support for Redis Cloud" loading="lazy"> </div> <div class="content"> <div class="name"> <h3 class="heading">Introducing Google Cloud Private Service Connect Support for Redis Cloud</h3> </div> <div class="detail"> Redis Cloud enhances security and reliability with its new support for Google Cloud Private Service Connect.  At its annual Google Cloud Next conference, the company shared several exciting... </div> <div class="link-icon"> <a class="cta-txt-black arrow-btn" href="https://redis.io/blog/introducing-google-cloud-private-serivce-connect-support-for-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/cache-eviction-strategies/" ></a> <div class="ttl"> <h4 class="heding"><span></span>Blog</h4> <div class="date"> August 30, 2023 </div> </div> <div class="imgbox"> <img width="772" height="550" src="https://redis.io/wp-content/uploads/2023/08/cache-eviction-strategies-every-redis-developer-should-know-blog.png?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=772" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Redis | Cache Eviction Strategies Every Redis Developer Should Know" loading="lazy"> </div> <div class="content"> <div class="name"> <h3 class="heading">Cache Eviction Strategies Every Redis Developer Should Know</h3> </div> <div class="detail"> Here’s a real-world scenario. You set up a Redis database, and it’s doing wonders at speeding up your application. But as the data flows in and the volume... </div> <div class="link-icon"> <a class="cta-txt-black arrow-btn" href="https://redis.io/blog/cache-eviction-strategies/" >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/understanding-topology-based-data-architectures/" ></a> <div class="ttl"> <h4 class="heding"><span></span>Blog</h4> <div class="date"> August 28, 2023 </div> </div> <div class="imgbox"> <img width="772" height="514" src="https://redis.io/wp-content/uploads/2023/08/french-blog-three-1200x628-2-920x612.jpg?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">Understanding Topology-Based Data Architectures</h3> </div> <div class="detail"> Data architectures can be classified based on their operational mode or topology, including data fabric, data hub, and data mesh. What’s the distinction between those? Buckle in. Previously,... </div> <div class="link-icon"> <a class="cta-txt-black arrow-btn" href="https://redis.io/blog/understanding-topology-based-data-architectures/" >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/building-llm-applications-with-redis-on-googles-vertex-ai-platform/" ></a> <div class="ttl"> <h4 class="heding"><span></span>Blog</h4> <div class="date"> August 24, 2023 </div> </div> <div class="imgbox"> <img width="772" height="552" src="https://redis.io/wp-content/uploads/2023/08/google-next-ai-announcement-card-v2-772x552-1.png?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=772" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Redis | Building LLM Applications with Redis on Google’s Vertex AI Platform" loading="lazy"> </div> <div class="content"> <div class="name"> <h3 class="heading">Building LLM Applications with Redis on Google’s Vertex AI Platform</h3> </div> <div class="detail"> Google’s Vertex AI platform recently integrated generative AI capabilities, including the PaLM 2 chat model and an in-console generative AI studio. Here, you learn about a novel reference... </div> <div class="link-icon"> <a class="cta-txt-black arrow-btn" href="https://redis.io/blog/building-llm-applications-with-redis-on-googles-vertex-ai-platform/" >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-enterprise-free-trial-aws-marketplace/" ></a> <div class="ttl"> <h4 class="heding"><span></span>Blog</h4> <div class="date"> August 21, 2023 </div> </div> <div class="imgbox"> <img width="772" height="550" src="https://redis.io/wp-content/uploads/2023/08/redis-aws-free-trial-2-blog-image.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">Introducing Redis Cloud Free Trial on AWS Marketplace</h3> </div> <div class="detail"> Redis is offering a new 14-day free trial on AWS Marketplace. For two full weeks, you can explore the full power of Redis Cloud with no upfront costs... </div> <div class="link-icon"> <a class="cta-txt-black arrow-btn" href="https://redis.io/blog/redis-enterprise-free-trial-aws-marketplace/" >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-enterprise-7-2-brings-exciting-innovations-that-operators-will-love/" ></a> <div class="ttl"> <h4 class="heding"><span></span>Blog</h4> <div class="date"> August 17, 2023 </div> </div> <div class="imgbox"> <img width="772" height="550" src="https://redis.io/wp-content/uploads/2023/08/why-operators-will-love-redis-enterprise-7.2-blog.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">Redis Enterprise 7.2 Brings Exciting Innovations That Operators Will Love</h3> </div> <div class="detail"> Among the highlights for operators are better access control, troubleshooting features, and maintenance capabilities.  The Redis 7.2 release has a lot of new features that matter to developers,... </div> <div class="link-icon"> <a class="cta-txt-black arrow-btn" href="https://redis.io/blog/redis-enterprise-7-2-brings-exciting-innovations-that-operators-will-love/" >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/introducing-redis-7-2/" ></a> <div class="ttl"> <h4 class="heding"><span></span>Blog</h4> <div class="date"> August 15, 2023 </div> </div> <div class="imgbox"> <img width="772" height="550" src="https://redis.io/wp-content/uploads/2023/08/feature-blog-card-seven-point-two-main-announcement-772x550-1.jpg?format=pjpg&amp;auto=webp&amp;quality=1&amp;width=772" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Introducing Redis 7.2" loading="lazy"> </div> <div class="content"> <div class="name"> <h3 class="heading">Redis 7.2 Sets New Experience Standards Across Redis Products</h3> </div> <div class="detail"> Redis 7.2 redefines real-time performance, with new features that make life easier for developers, architects, and operators. </div> <div class="link-icon"> <a class="cta-txt-black arrow-btn" href="https://redis.io/blog/introducing-redis-7-2/" >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/introducing-auto-tiering/" ></a> <div class="ttl"> <h4 class="heding"><span></span>Blog</h4> <div class="date"> August 15, 2023 </div> </div> <div class="imgbox"> <img width="772" height="550" src="https://redis.io/wp-content/uploads/2023/07/01-auto-tiering-772x550-1.jpg?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">Auto Tiering Offers Twice the Throughput at Half the Latency for Large Datasets</h3> </div> <div class="detail"> More and more applications rely on huge data collections – and those applications have to respond quickly. Redis Enterprise 7.2 makes it possible to create super-fast applications with... </div> <div class="link-icon"> <a class="cta-txt-black arrow-btn" href="https://redis.io/blog/introducing-auto-tiering/" >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/introducing-triggers-and-functions/" ></a> <div class="ttl"> <h4 class="heding"><span></span>Blog</h4> <div class="date"> August 15, 2023 </div> </div> <div class="imgbox"> <img width="772" height="550" src="https://redis.io/wp-content/uploads/2023/07/02-triggers-and-functions-772x550-1.jpg?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">Triggers and Functions: Bring Code Closer to Your Data</h3> </div> <div class="detail"> Developers can use Redis to build and maintain real-time applications. You can create JavaScript functions that automatically execute code on data changes directly in the Redis database, and... </div> <div class="link-icon"> <a class="cta-txt-black arrow-btn" href="https://redis.io/blog/introducing-triggers-and-functions/" >Read now</a> </div> </div> </div> <div class='wp-pagenavi' role='navigation'> <span class='pages'><!-- 5 of 40 --></span><a class="first" aria-label="First Page" href="https://redis.io/blog/">« First</a><a class="previouspostslink" rel="prev" aria-label="Previous Page" href="https://redis.io/blog/page/4/">«</a><span class='extend'>...</span><a class="page smaller" title="Page 3" href="https://redis.io/blog/page/3/">3</a><a class="page smaller" title="Page 4" href="https://redis.io/blog/page/4/">4</a><span aria-current='page' class='current'>5</span><a class="page larger" title="Page 6" href="https://redis.io/blog/page/6/">6</a><a class="page larger" title="Page 7" href="https://redis.io/blog/page/7/">7</a><span class='extend'>...</span><a class="nextpostslink" rel="next" aria-label="Next Page" href="https://redis.io/blog/page/6/">»</a> </div> <div data-archive-paging="5"></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=1744321704" 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=1744321704" media="all"> </noscript> <!-- Link to stylesheet --> <link rel="stylesheet" href="https://redis.io/wp-content/themes/wpx/assets/dist/css/globals/refresh/components/blocks/related.css?ver=1744321704" 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/related.css?ver=1744321704" media="all"> </noscript> <!-- Link to stylesheet --> <link rel="stylesheet" href="https://redis.io/wp-content/themes/wpx/assets/dist/css/globals/refresh/components/blocks/image.css?ver=1744321704" 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/image.css?ver=1744321704" 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=1744321704" 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=1744321704" media="all"> </noscript> <!-- Link to stylesheet --> <link rel="stylesheet" href="/wp-content/themes/wpx/assets/dist/css/globals/refresh/components/blocks/buttons.css?ver=1744321704" 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=1744321704" media="all"> </noscript> <!-- Link to stylesheet --> <link rel="stylesheet" href="/wp-content/themes/wpx/assets/dist/css/globals/refresh/components/shortcodes/post.css?ver=1744321704" 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=1744321704" 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=1744321704" 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=1744321704" media="all"> <link rel="stylesheet" href="/wp-content/themes/wpx/assets/dist/css/globals/refresh/components/blocks/group.css?ver=1744321704" media="all"> <link rel="stylesheet" href="/wp-content/themes/wpx/assets/dist/css/globals/refresh/components/sidebar.css?ver=1744321704" media="all"> </noscript> <!-- Link to stylesheet --> <link rel="stylesheet" href="/wp-content/themes/wpx/assets/dist/css/globals/refresh/footer/footer.css?ver=1744321704" 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=1744321704" media="all"> </noscript> <!-- Link to stylesheet --> <link rel="stylesheet" href="/wp-content/themes/wpx/assets/dist/css/globals/refresh/components/forms.css?ver=1744321704" 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=1744321704" media="all"> </noscript> <!-- Link to stylesheet --> <link rel="stylesheet" href="/wp-content/themes/redislabs-glide/assets/dist/css/footer.min.css?ver=1744321704" 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=1744321704" 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);} </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=1744321704" 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=1744392448" 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 = "39951b50cb"; const redisPostid = "149814"; /* ]]> */ </script> <script type="text/javascript" src="https://redis.io/wp-content/themes/wpx/assets/dist/js/vendor/query-script.js?ver=1744321704" 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":362,"atts":"HhZXQQoZGx8=","errorBeacon":"bam.nr-data.net","agent":""}</script></body> </html>

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