{"id":31432,"date":"2025-01-14T14:15:49","date_gmt":"2025-01-14T13:15:49","guid":{"rendered":"https:\/\/www.codemotion.com\/magazine\/?p=31432"},"modified":"2025-01-14T14:17:16","modified_gmt":"2025-01-14T13:17:16","slug":"opendev-explorer-fusioncache-los-pendientes-potara-de-la-cache","status":"publish","type":"post","link":"https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/opendev-explorer-fusioncache-los-pendientes-potara-de-la-cache\/","title":{"rendered":"OpenDev Explorer \u2013  FusionCache: los pendientes Potara de la cach\u00e9"},"content":{"rendered":"\n<p>Si te pidiera que me hablaras de la cach\u00e9, si fueras un desarrollador backend me hablar\u00edas de Redis, mientras que si fueras un desarrollador frontend seguramente me dir\u00edas \u201cese maldito mecanismo por el que tengo que presionar ctrl f5 para ver mis cambios en el navegador\u201d.<\/p>\n\n\n\n<p>Yo, en cambio, hoy estoy aqu\u00ed para hablarte de un tipo de cach\u00e9 &#8220;amigable para desarrolladores&#8221;, una cach\u00e9 h\u00edbrida para proyectos .Net.<\/p>\n\n\n\n<p>Bienvenidos a <strong>OpenDev Explorer<\/strong>, mi secci\u00f3n dedicada a explorar el mundo del Open Source con un enfoque especial en la experiencia del desarrollador. Soy Riccardo (tambi\u00e9n conocido como TheZal), y hoy les hablar\u00e9 de <strong>FusionCache<\/strong>, una biblioteca que les permitir\u00e1 gestionar de forma h\u00edbrida la cach\u00e9 en sus proyectos .NET. Si quieres ver todos los art\u00edculos de esta secci\u00f3n podr\u00e1s leerlos en italiano <a href=\"https:\/\/www.codemotion.com\/magazine\/it\/author\/thezal\/\">aqu\u00ed<\/a><\/p>\n\n\n\n<div class=\"wp-block-yoast-seo-table-of-contents yoast-table-of-contents\"><h2>Tabla de contenidos<br><\/h2><ul><li><a href=\"#h-panoramica-general\" data-level=\"2\">Panor\u00e1mica General<\/a><\/li><li><a href=\"#h-manual-de-instrucciones\" data-level=\"2\">Manual de instrucciones<\/a><ul><li><a href=\"#h-uso\" data-level=\"3\">Uso<\/a><\/li><\/ul><\/li><li><a href=\"#h-la-experiencia-del-desarrollador\" data-level=\"2\">La experiencia del desarrollador<\/a><\/li><li><a href=\"#h-el-esfuerzo-adicional\" data-level=\"2\">El esfuerzo adicional<\/a><\/li><li><a href=\"#h-la-comparacion-con-el-estado-actual\" data-level=\"2\">La comparaci\u00f3n con el estado actual<\/a><\/li><li><a href=\"#h-hagamos-un-resumen\" data-level=\"2\">\u00a1Hagamos un resumen!<\/a><\/li><\/ul><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-panoramica-general\">Panor\u00e1mica General<\/h2>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/github.com\/ZiggyCreatures\/FusionCache\/raw\/main\/docs\/images\/diagram.png\" alt=\"\"\/><\/figure>\n\n\n\n<p>FusionCache es una cach\u00e9 h\u00edbrida dise\u00f1ada para ser f\u00e1cil de usar, r\u00e1pida y resiliente, con funciones avanzadas de gesti\u00f3n de errores.<\/p>\n\n\n\n<p>Nace de la experiencia acumulada a lo largo de los a\u00f1os enfrentando los m\u00e1s diversos tipos de cach\u00e9: desde la cach\u00e9 en memoria hasta la distribuida, desde la cach\u00e9 HTTP hasta las CDN, e incluso la cach\u00e9 offline y la del navegador.<\/p>\n\n\n\n<p>FusionCache, siendo una cach\u00e9 h\u00edbrida, puede funcionar de manera transparente tanto como cach\u00e9 en memoria (L1) como cach\u00e9 multi-nivel (L1+L2). En este segundo caso, el nivel distribuido (L2) puede ser cualquier implementaci\u00f3n de la interfaz est\u00e1ndar <strong>IDistributedCache<\/strong>. Este enfoque ofrece arranques en fr\u00edo m\u00e1s r\u00e1pidos, mejor escalabilidad horizontal, mayor resiliencia y un rendimiento global superior.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-manual-de-instrucciones\"><strong>Manual de instrucciones<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Instalaci\u00f3n<\/h3>\n\n\n\n<p>Instalar FusionCache es muy sencillo, ya que est\u00e1 disponible como paquete en NuGet. Se puede instalar tanto a trav\u00e9s de la interfaz de usuario de NuGet (buscando el paquete <strong>ZiggyCreatures.FusionCache<\/strong>) como mediante la consola de NuGet con el siguiente comando:<\/p>\n\n\n\n<p><code>PM&gt; Install-Package ZiggyCreatures.FusionCache<\/code><\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-uso\"><strong>Uso<\/strong><\/h3>\n\n\n\n<p>Para empezar a usar FusionCache, lo primero que debes hacer es crear una instancia de cach\u00e9:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>var cache = new FusionCache(new FusionCacheOptions());<br><\/code><\/pre>\n\n\n\n<p>Si est\u00e1s utilizando <strong>Dependency Injection<\/strong>, solo necesitas agregar esta l\u00ednea:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>services.AddFusionCache();<br><\/code><\/pre>\n\n\n\n<p>Tambi\u00e9n es posible configurar opciones globales, como por ejemplo un objeto <strong>FusionCacheEntryOptions<\/strong> predeterminado con una duraci\u00f3n de 2 minutos para cada operaci\u00f3n que realices:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code><strong>var<\/strong> cache = <strong>new<\/strong> FusionCache(<strong>new<\/strong> FusionCacheOptions() {<br>\tDefaultEntryOptions = <strong>new<\/strong> FusionCacheEntryOptions {<br>\t\tDuration = TimeSpan.FromMinutes(2)<br>\t}<br>});<\/code><\/pre>\n\n\n\n<p> O, siempre a trav\u00e9s de <strong>Dependency Injection<\/strong>:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>services.AddFusionCache()\n\t.WithDefaultEntryOptions(<strong>new<\/strong> FusionCacheEntryOptions {\n\t\tDuration = TimeSpan.FromMinutes(2)\n\t});<\/code><small>Code language: JavaScript (javascript)<\/small><\/pre>\n\n\n\n<p>Ahora, para obtener un producto de la cach\u00e9 y, si no est\u00e1 presente, recuperarlo de la base de datos de manera optimizada y guardarlo en la cach\u00e9 durante 30 segundos (sobrescribiendo los 2 minutos predeterminados mencionados anteriormente), basta con hacer lo siguiente:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code><strong>var<\/strong> id = 42;\n\ncache.GetOrSet&lt;Product&gt;(\n\t$\"product:{id}\",\n\t_ =&gt; GetProductFromDb(id),\n\tTimeSpan.FromSeconds(30)\n);<\/code><small>Code language: PHP (php)<\/small><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-la-experiencia-del-desarrollador\">La experiencia del desarrollador<\/h2>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/github.com\/ZiggyCreatures\/FusionCache\/raw\/main\/docs\/logo-256x256.png\" alt=\"\"\/><\/figure>\n\n\n\n<p>La simplicidad de uso de FusionCache lo convierte en un proyecto muy atractivo en cuanto a la experiencia del desarrollador, teniendo entre sus principales ventajas su facilidad de implementaci\u00f3n y el hecho de ser un proyecto listo para producci\u00f3n desde el primer momento.<\/p>\n\n\n\n<p>Adem\u00e1s, FusionCache cuenta en su documentaci\u00f3n con varios recursos muy \u00fatiles para el arranque inicial, lo que permite tener una curva de aprendizaje relativamente baja.<\/p>\n\n\n\n<p>Tambi\u00e9n, dado que el autor del proyecto se dio cuenta de que a veces visualizar un sistema distribuido es la mejor forma de entenderlo, implement\u00f3 un simulador que permite comprender c\u00f3mo funciona FusionCache.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-el-esfuerzo-adicional\">El esfuerzo adicional<\/h2>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/media.self.com\/photos\/5ecd379946445093014de534\/2:1\/w_1280,c_limit\/medic-covid.jpg\" alt=\"\"\/><\/figure>\n\n\n\n<p>El esfuerzo adicional de FusionCache se debe sin duda al sistema de <strong>autorrecovery<\/strong>, que permite recuperar la salud de nuestro sistema de cach\u00e9 en caso de mal funcionamiento.<\/p>\n\n\n\n<p>En caso de problemas transitorios con los componentes distribuidos (como la cach\u00e9 distribuida o el backplane), FusionCache intentar\u00e1 resolverlos autom\u00e1ticamente, sin necesidad de intervenci\u00f3n alguna.<\/p>\n\n\n\n<p>El <strong>autorrecovery<\/strong> puede ser profundizado <a href=\"https:\/\/github.com\/ZiggyCreatures\/FusionCache\/blob\/main\/docs\/AutoRecovery.md\">aqu\u00ed<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-la-comparacion-con-el-estado-actual\"><strong>La comparaci\u00f3n con el estado actual<\/strong><\/h2>\n\n\n\n<p>Existen innumerables bibliotecas que se encargan de la gesti\u00f3n de cach\u00e9 en circulaci\u00f3n, pero para hacer una comparaci\u00f3n directa, en el repositorio oficial del proyecto se puede encontrar la siguiente tabla que resume las diferencias con otras bibliotecas.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><\/td><td>FusionCache<\/td><td>HybridCache<\/td><td>CacheManager<\/td><td>CacheTower<\/td><td>EasyCaching<\/td><td>LazyCache<\/td><\/tr><tr><td>Cache Stampede<\/td><td>\u2714<\/td><td>\u2714<\/td><td>\u274c<\/td><td>\u2714<\/td><td>\u2714<\/td><td>\u2714<\/td><\/tr><tr><td>Sync Api<\/td><td>\u2714<\/td><td>\u274c<\/td><td>\u2714<\/td><td>\u274c<\/td><td>\u2714<\/td><td>\u2714<\/td><\/tr><tr><td>Async Api<\/td><td>\u2714<\/td><td>\u2714<\/td><td>\u274c<\/td><td>\u2714<\/td><td>\u2714<\/td><td>!<\/td><\/tr><tr><td>Fail-Safe<\/td><td>\u2714<\/td><td>\u274c<\/td><td>\u274c<\/td><td>\u274c<\/td><td>\u274c<\/td><td>\u274c<\/td><\/tr><tr><td>Timeouts<\/td><td>\u2714<\/td><td>\u274c<\/td><td>\u274c<\/td><td>\u274c<\/td><td>\u274c<\/td><td>\u274c<\/td><\/tr><tr><td>Adaptive caching<\/td><td>\u2714<\/td><td>\u274c<\/td><td>\u274c<\/td><td>\u274c<\/td><td>\u274c<\/td><td>\u2714<\/td><\/tr><tr><td>Cancellation<\/td><td>\u2714<\/td><td>\u2714<\/td><td>\u274c<\/td><td>\u274c<\/td><td>\u274c<\/td><td>\u274c<\/td><\/tr><tr><td>Multi provider<\/td><td>\u2714<\/td><td>\u2714<\/td><td>\u2714<\/td><td>\u2714<\/td><td>\u2714<\/td><td>\u274c<\/td><\/tr><tr><td>Multi level<\/td><td>\u2714<\/td><td>\u2714<\/td><td>\u2714<\/td><td>\u2714<\/td><td>!<\/td><td>\u274c<\/td><\/tr><tr><td>Backplane<\/td><td>\u2714<\/td><td>\u2714<\/td><td>\u2714<\/td><td>\u2714<\/td><td>\u2714<\/td><td>\u274c<\/td><\/tr><tr><td>Auto recovery<\/td><td>\u2714<\/td><td>\u274c<\/td><td>\u274c<\/td><td>\u274c<\/td><td>\u274c<\/td><td>\u274c<\/td><\/tr><tr><td>Events<\/td><td>\u2714<\/td><td>\u274c<\/td><td>\u2714<\/td><td>\u274c<\/td><td>\u274c<\/td><td>\u274c<\/td><\/tr><tr><td>Open Telemetry<\/td><td>\u2714<\/td><td>\u274c<\/td><td>\u274c<\/td><td>\u274c<\/td><td>\u274c<\/td><td>\u274c<\/td><\/tr><tr><td>Logging<\/td><td>\u2714<\/td><td>\u274c<\/td><td>\u2714<\/td><td>\u274c<\/td><td>\u2714<\/td><td>\u274c<\/td><\/tr><tr><td>Portable<\/td><td>\u2714<\/td><td>\u2714<\/td><td>\u2714<\/td><td>\u2714<\/td><td>\u2714<\/td><td>\u2714<\/td><\/tr><tr><td>Tests<\/td><td>\u2714<\/td><td>\u2714<\/td><td>\u2714<\/td><td>\u2714<\/td><td>\u2714<\/td><td>\u2714<\/td><\/tr><tr><td>Xml Comments<\/td><td>\u2714<\/td><td>\u274c<\/td><td>\u2714<\/td><td>\u2714<\/td><td>\u2714<\/td><td>\u274c<\/td><\/tr><tr><td>Docs<\/td><td>\u2714<\/td><td>\u2714<\/td><td>\u2714<\/td><td>\u2714<\/td><td>\u2714<\/td><td>\u2714<\/td><\/tr><tr><td>License<\/td><td>MIT<\/td><td>Same as .net<\/td><td>Apache 2.0<\/td><td>MIT<\/td><td>MIT<\/td><td>MIT<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-hagamos-un-resumen\"><strong>\u00a1Hagamos un resumen!<\/strong><\/h2>\n\n\n\n<p>Considero que FusionCache es uno de los proyectos m\u00e1s interesantes que he tenido la oportunidad de conocer en Codemotion 2024, tanto por lo que respecta a su experiencia del desarrollador como por las potencialidades del proyecto, que se evidencian tambi\u00e9n en el hecho de que<\/p>\n\n\n\n<p>Microsoft ha decidido implementar su HybridCache siguiendo los mismos pasos de FusionCache.<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Si te pidiera que me hablaras de la cach\u00e9, si fueras un desarrollador backend me hablar\u00edas de Redis, mientras que si fueras un desarrollador frontend seguramente me dir\u00edas \u201cese maldito mecanismo por el que tengo que presionar ctrl f5 para ver mis cambios en el navegador\u201d. Yo, en cambio, hoy estoy aqu\u00ed para hablarte de&#8230; <a class=\"more-link\" href=\"https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/opendev-explorer-fusioncache-los-pendientes-potara-de-la-cache\/\">Read more<\/a><\/p>\n","protected":false},"author":193,"featured_media":30433,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_editorskit_title_hidden":false,"_editorskit_reading_time":0,"_editorskit_is_block_options_detached":false,"_editorskit_block_options_position":"{}","_uag_custom_page_level_css":"","_genesis_hide_title":false,"_genesis_hide_breadcrumbs":false,"_genesis_hide_singular_image":false,"_genesis_hide_footer_widgets":false,"_genesis_custom_body_class":"","_genesis_custom_post_class":"","_genesis_layout":"","footnotes":""},"categories":[10606],"tags":[10747],"collections":[12939],"class_list":{"0":"post-31432","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-backend-es","8":"tag-desarrollo-web","9":"collections-desarrollo-web-es","10":"entry"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.9 (Yoast SEO v27.5) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>OpenDev Explorer \u2013 FusionCache: los pendientes Potara de la cach\u00e9 - Codemotion Magazine<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/opendev-explorer-fusioncache-los-pendientes-potara-de-la-cache\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"OpenDev Explorer \u2013 FusionCache: los pendientes Potara de la cach\u00e9\" \/>\n<meta property=\"og:description\" content=\"Si te pidiera que me hablaras de la cach\u00e9, si fueras un desarrollador backend me hablar\u00edas de Redis, mientras que si fueras un desarrollador frontend seguramente me dir\u00edas \u201cese maldito mecanismo por el que tengo que presionar ctrl f5 para ver mis cambios en el navegador\u201d. Yo, en cambio, hoy estoy aqu\u00ed para hablarte de&#8230; Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/opendev-explorer-fusioncache-los-pendientes-potara-de-la-cache\/\" \/>\n<meta property=\"og:site_name\" content=\"Codemotion Magazine\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Codemotion.Italy\/\" \/>\n<meta property=\"article:published_time\" content=\"2025-01-14T13:15:49+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-01-14T13:17:16+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/11\/fusioncache.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1280\" \/>\n\t<meta property=\"og:image:height\" content=\"720\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"TheZal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@CodemotionIT\" \/>\n<meta name=\"twitter:site\" content=\"@CodemotionIT\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"TheZal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/es\\\/backend-es\\\/opendev-explorer-fusioncache-los-pendientes-potara-de-la-cache\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/es\\\/backend-es\\\/opendev-explorer-fusioncache-los-pendientes-potara-de-la-cache\\\/\"},\"author\":{\"name\":\"TheZal\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#\\\/schema\\\/person\\\/f3f099160f0d8f2f80c5e4f3c8d53503\"},\"headline\":\"OpenDev Explorer \u2013 FusionCache: los pendientes Potara de la cach\u00e9\",\"datePublished\":\"2025-01-14T13:15:49+00:00\",\"dateModified\":\"2025-01-14T13:17:16+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/es\\\/backend-es\\\/opendev-explorer-fusioncache-los-pendientes-potara-de-la-cache\\\/\"},\"wordCount\":788,\"publisher\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/es\\\/backend-es\\\/opendev-explorer-fusioncache-los-pendientes-potara-de-la-cache\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/fusioncache.png\",\"keywords\":[\"Desarrollo web\"],\"articleSection\":[\"Backend\"],\"inLanguage\":\"en-US\",\"accessibilityFeature\":[\"tableOfContents\"]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/es\\\/backend-es\\\/opendev-explorer-fusioncache-los-pendientes-potara-de-la-cache\\\/\",\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/es\\\/backend-es\\\/opendev-explorer-fusioncache-los-pendientes-potara-de-la-cache\\\/\",\"name\":\"OpenDev Explorer \u2013 FusionCache: los pendientes Potara de la cach\u00e9 - Codemotion Magazine\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/es\\\/backend-es\\\/opendev-explorer-fusioncache-los-pendientes-potara-de-la-cache\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/es\\\/backend-es\\\/opendev-explorer-fusioncache-los-pendientes-potara-de-la-cache\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/fusioncache.png\",\"datePublished\":\"2025-01-14T13:15:49+00:00\",\"dateModified\":\"2025-01-14T13:17:16+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/es\\\/backend-es\\\/opendev-explorer-fusioncache-los-pendientes-potara-de-la-cache\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/es\\\/backend-es\\\/opendev-explorer-fusioncache-los-pendientes-potara-de-la-cache\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/es\\\/backend-es\\\/opendev-explorer-fusioncache-los-pendientes-potara-de-la-cache\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/fusioncache.png\",\"contentUrl\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/fusioncache.png\",\"width\":1280,\"height\":720,\"caption\":\"fusion cache, open source, open dev explorer\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/es\\\/backend-es\\\/opendev-explorer-fusioncache-los-pendientes-potara-de-la-cache\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Backend\",\"item\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/es\\\/backend-es\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"OpenDev Explorer \u2013 FusionCache: los pendientes Potara de la cach\u00e9\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#website\",\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/\",\"name\":\"Codemotion Magazine\",\"description\":\"We code the future. Together\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#organization\",\"name\":\"Codemotion\",\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2019\\\/11\\\/codemotionlogo.png\",\"contentUrl\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2019\\\/11\\\/codemotionlogo.png\",\"width\":225,\"height\":225,\"caption\":\"Codemotion\"},\"image\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/Codemotion.Italy\\\/\",\"https:\\\/\\\/x.com\\\/CodemotionIT\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#\\\/schema\\\/person\\\/f3f099160f0d8f2f80c5e4f3c8d53503\",\"name\":\"TheZal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2024\\\/01\\\/avatar-100x100.png\",\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2024\\\/01\\\/avatar-100x100.png\",\"contentUrl\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2024\\\/01\\\/avatar-100x100.png\",\"caption\":\"TheZal\"},\"description\":\"Hello there! My name is Riccardo (aka TheZal), a passionate software engineer who loves to combine his passion for code with his love for fantasy realms like Dungeons and Dragons, Harry Potter, Star Wars, LOTR, etc., etc. I'm really into studying and exploring new technologies (with a lot of love for Open Source). I'm also a co-owner of a 12-year-old dachshund called Poldo, who is the mascot of my blog!\",\"sameAs\":[\"http:\\\/\\\/www.thezal.dev\"],\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/author\\\/thezal\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"OpenDev Explorer \u2013 FusionCache: los pendientes Potara de la cach\u00e9 - Codemotion Magazine","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/opendev-explorer-fusioncache-los-pendientes-potara-de-la-cache\/","og_locale":"en_US","og_type":"article","og_title":"OpenDev Explorer \u2013 FusionCache: los pendientes Potara de la cach\u00e9","og_description":"Si te pidiera que me hablaras de la cach\u00e9, si fueras un desarrollador backend me hablar\u00edas de Redis, mientras que si fueras un desarrollador frontend seguramente me dir\u00edas \u201cese maldito mecanismo por el que tengo que presionar ctrl f5 para ver mis cambios en el navegador\u201d. Yo, en cambio, hoy estoy aqu\u00ed para hablarte de&#8230; Read more","og_url":"https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/opendev-explorer-fusioncache-los-pendientes-potara-de-la-cache\/","og_site_name":"Codemotion Magazine","article_publisher":"https:\/\/www.facebook.com\/Codemotion.Italy\/","article_published_time":"2025-01-14T13:15:49+00:00","article_modified_time":"2025-01-14T13:17:16+00:00","og_image":[{"width":1280,"height":720,"url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/11\/fusioncache.png","type":"image\/png"}],"author":"TheZal","twitter_card":"summary_large_image","twitter_creator":"@CodemotionIT","twitter_site":"@CodemotionIT","twitter_misc":{"Written by":"TheZal","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/opendev-explorer-fusioncache-los-pendientes-potara-de-la-cache\/#article","isPartOf":{"@id":"https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/opendev-explorer-fusioncache-los-pendientes-potara-de-la-cache\/"},"author":{"name":"TheZal","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/f3f099160f0d8f2f80c5e4f3c8d53503"},"headline":"OpenDev Explorer \u2013 FusionCache: los pendientes Potara de la cach\u00e9","datePublished":"2025-01-14T13:15:49+00:00","dateModified":"2025-01-14T13:17:16+00:00","mainEntityOfPage":{"@id":"https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/opendev-explorer-fusioncache-los-pendientes-potara-de-la-cache\/"},"wordCount":788,"publisher":{"@id":"https:\/\/www.codemotion.com\/magazine\/#organization"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/opendev-explorer-fusioncache-los-pendientes-potara-de-la-cache\/#primaryimage"},"thumbnailUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/11\/fusioncache.png","keywords":["Desarrollo web"],"articleSection":["Backend"],"inLanguage":"en-US","accessibilityFeature":["tableOfContents"]},{"@type":"WebPage","@id":"https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/opendev-explorer-fusioncache-los-pendientes-potara-de-la-cache\/","url":"https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/opendev-explorer-fusioncache-los-pendientes-potara-de-la-cache\/","name":"OpenDev Explorer \u2013 FusionCache: los pendientes Potara de la cach\u00e9 - Codemotion Magazine","isPartOf":{"@id":"https:\/\/www.codemotion.com\/magazine\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/opendev-explorer-fusioncache-los-pendientes-potara-de-la-cache\/#primaryimage"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/opendev-explorer-fusioncache-los-pendientes-potara-de-la-cache\/#primaryimage"},"thumbnailUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/11\/fusioncache.png","datePublished":"2025-01-14T13:15:49+00:00","dateModified":"2025-01-14T13:17:16+00:00","breadcrumb":{"@id":"https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/opendev-explorer-fusioncache-los-pendientes-potara-de-la-cache\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/opendev-explorer-fusioncache-los-pendientes-potara-de-la-cache\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/opendev-explorer-fusioncache-los-pendientes-potara-de-la-cache\/#primaryimage","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/11\/fusioncache.png","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/11\/fusioncache.png","width":1280,"height":720,"caption":"fusion cache, open source, open dev explorer"},{"@type":"BreadcrumbList","@id":"https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/opendev-explorer-fusioncache-los-pendientes-potara-de-la-cache\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.codemotion.com\/magazine\/"},{"@type":"ListItem","position":2,"name":"Backend","item":"https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/"},{"@type":"ListItem","position":3,"name":"OpenDev Explorer \u2013 FusionCache: los pendientes Potara de la cach\u00e9"}]},{"@type":"WebSite","@id":"https:\/\/www.codemotion.com\/magazine\/#website","url":"https:\/\/www.codemotion.com\/magazine\/","name":"Codemotion Magazine","description":"We code the future. Together","publisher":{"@id":"https:\/\/www.codemotion.com\/magazine\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.codemotion.com\/magazine\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.codemotion.com\/magazine\/#organization","name":"Codemotion","url":"https:\/\/www.codemotion.com\/magazine\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png","width":225,"height":225,"caption":"Codemotion"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Codemotion.Italy\/","https:\/\/x.com\/CodemotionIT"]},{"@type":"Person","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/f3f099160f0d8f2f80c5e4f3c8d53503","name":"TheZal","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/01\/avatar-100x100.png","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/01\/avatar-100x100.png","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/01\/avatar-100x100.png","caption":"TheZal"},"description":"Hello there! My name is Riccardo (aka TheZal), a passionate software engineer who loves to combine his passion for code with his love for fantasy realms like Dungeons and Dragons, Harry Potter, Star Wars, LOTR, etc., etc. I'm really into studying and exploring new technologies (with a lot of love for Open Source). I'm also a co-owner of a 12-year-old dachshund called Poldo, who is the mascot of my blog!","sameAs":["http:\/\/www.thezal.dev"],"url":"https:\/\/www.codemotion.com\/magazine\/author\/thezal\/"}]}},"featured_image_src":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/11\/fusioncache-600x400.png","featured_image_src_square":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/11\/fusioncache-600x600.png","author_info":{"display_name":"TheZal","author_link":"https:\/\/www.codemotion.com\/magazine\/author\/thezal\/"},"uagb_featured_image_src":{"full":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/11\/fusioncache.png",1280,720,false],"thumbnail":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/11\/fusioncache-150x150.png",150,150,true],"medium":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/11\/fusioncache-300x169.png",300,169,true],"medium_large":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/11\/fusioncache-768x432.png",768,432,true],"large":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/11\/fusioncache-1024x576.png",1024,576,true],"1536x1536":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/11\/fusioncache.png",1280,720,false],"2048x2048":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/11\/fusioncache.png",1280,720,false],"small-home-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/11\/fusioncache-100x100.png",100,100,true],"sidebar-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/11\/fusioncache-180x128.png",180,128,true],"genesis-singular-images":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/11\/fusioncache-896x504.png",896,504,true],"archive-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/11\/fusioncache-400x225.png",400,225,true],"gb-block-post-grid-landscape":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/11\/fusioncache-600x400.png",600,400,true],"gb-block-post-grid-square":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/11\/fusioncache-600x600.png",600,600,true]},"uagb_author_info":{"display_name":"TheZal","author_link":"https:\/\/www.codemotion.com\/magazine\/author\/thezal\/"},"uagb_comment_info":0,"uagb_excerpt":"Si te pidiera que me hablaras de la cach\u00e9, si fueras un desarrollador backend me hablar\u00edas de Redis, mientras que si fueras un desarrollador frontend seguramente me dir\u00edas \u201cese maldito mecanismo por el que tengo que presionar ctrl f5 para ver mis cambios en el navegador\u201d. Yo, en cambio, hoy estoy aqu\u00ed para hablarte de&#8230;&hellip;","lang":"es","_links":{"self":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/31432","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/users\/193"}],"replies":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/comments?post=31432"}],"version-history":[{"count":2,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/31432\/revisions"}],"predecessor-version":[{"id":31438,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/31432\/revisions\/31438"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/media\/30433"}],"wp:attachment":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/media?parent=31432"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/categories?post=31432"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/tags?post=31432"},{"taxonomy":"collections","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/collections?post=31432"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}