{"id":559,"date":"2017-08-07T07:30:20","date_gmt":"2017-08-07T07:30:20","guid":{"rendered":"http:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/?p=559"},"modified":"2017-08-07T10:13:21","modified_gmt":"2017-08-07T10:13:21","slug":"cache-manager-agiliza-tus-desarrollos-azure","status":"publish","type":"post","link":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/cache-manager-agiliza-tus-desarrollos-azure\/","title":{"rendered":"Cache Manager : Agiliza tus desarrollos en Azure"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-615 size-full\" src=\"http:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/wp-content\/uploads\/sites\/21\/2017\/07\/Cache-Manager.png\" alt=\"Cache Manager\" width=\"450\" height=\"400\" srcset=\"https:\/\/encaminablogs.wpenginepowered.com\/piensa-en-software-desarrolla-en-colores\/wp-content\/uploads\/sites\/21\/2017\/07\/Cache-Manager.png 450w, https:\/\/encaminablogs.wpenginepowered.com\/piensa-en-software-desarrolla-en-colores\/wp-content\/uploads\/sites\/21\/2017\/07\/Cache-Manager-300x267.png 300w\" sizes=\"auto, (max-width: 450px) 100vw, 450px\" \/><\/p>\n<p>A la hora de abordar un desarrollo Web, un aspecto fundamental es decidir <strong>d\u00f3nde guardamos los datos que se est\u00e1n generando de la propia navegaci\u00f3n<\/strong>, es decir, esos datos, que no tienen que estar en la base de datos, pero que son necesarios para que el usuario visualice la informaci\u00f3n por pantalla.<\/p>\n<p><!--more--><\/p>\n<p>Un caso muy com\u00fan es cuando en un desarrollo ASP.NET MVC utilizamos el patr\u00f3n <strong>Model View View Model<\/strong> (MVVM) donde guardamos el<strong> ViewModel<\/strong> y est\u00e1n los datos que se muestran en la vista.\u00a0Por regla general tenemos dos opciones: utilizar la <strong><em>Session <\/em><\/strong>del usuario, o bien utilizar una<em><strong> Cache<\/strong><\/em>.<\/p>\n<p>\u00bfCu\u00e1ndo utilizar una u otro?: La<em> Session<\/em> es por usuario, mientras que la <em>Cache<\/em> es por la aplicaci\u00f3n. En la <em>Session,<\/em> la informaci\u00f3nsolo est\u00e1 durante el tiempo que el usuario navega la aplicaci\u00f3n (cuando cierra el navegador dicha informaci\u00f3n desaparece), mientras que la <em>Cache<\/em> tiene un tiempo de vigencia.<\/p>\n<p>Ahora bien, seguro que muchos de nosotros nos hemos encontrado con problemas cuando hemos trabajado con la<em> Session<\/em>. El principal motivo es cuando nuestra aplicaci\u00f3n escala o \u00a0cambia de nodo de ejecuci\u00f3n. Esto, cuando lo tenemos almacenado en un Cloud como Azure, hace que nuestra aplicaci\u00f3n se pueda volver inestable o tengamos que buscar una soluci\u00f3n para que los datos de la Session perduren (con lo que estar\u00edamos utilizando una <em>Cache<\/em> pero sin sus beneficios).<\/p>\n<p><strong>\u00bfQu\u00e9 hacer?<\/strong>\u00a0Para evitar este problema, en los \u00faltimos proyectos que hemos abordado estamos utilizando <a href=\"http:\/\/cachemanager.michaco.net\" target=\"_blank\" rel=\"noopener\">Cache Manager<\/a>, un paquete Nugget que se encarga de la gesti\u00f3n de la Cache, sumado a caracter\u00edsticas propias del desarrollo (como tipado de los elementos que almacenamos en ella).<\/p>\n<h2>C\u00f3mo empezar a utilizar Cache Manager<\/h2>\n<p>&nbsp;<\/p>\n<p>En primer lugar, tendremos que<strong> instalar el paquete Nuget<\/strong> del mismo. Para ello, bien lo podemos buscar desde la propia interfaz, o bien ejecutar el siguiente comando desde la consola de Administraci\u00f3n de los paquetes de Nuget:<\/p>\n<pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\r\nInstall-Package CacheManager.Core\r\n<\/pre>\n<p>A partir de este momento, tendremos que ver <strong>c\u00f3mo configurar el Cache Manager<\/strong>. Esto lo podemos hacer con c\u00f3digo:<\/p>\n<pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\r\nvar manager = CacheFactory.Build&amp;lt;int&amp;gt;(settings =&amp;gt;\r\n{\r\n    settings\r\n        .WithSystemRuntimeCacheHandle()\r\n        .And\r\n        .WithRedisConfiguration(&quot;redis&quot;, config =&amp;gt;\r\n        {\r\n            config.WithAllowAdmin()\r\n                .WithDatabase(0)\r\n                .WithEndpoint(&quot;localhost&quot;, 6379);\r\n        })\r\n        .WithMaxRetries(100)\r\n        .WithRetryTimeout(50)\r\n        .WithRedisBackplane(&quot;redis&quot;)\r\n        .WithRedisCacheHandle(&quot;redis&quot;, true);\r\n});\r\nmanager.Add(&quot;test&quot;, 123456);\r\n<\/pre>\n<p>Tambi\u00e9n lo podemos utilizar <strong>a\u00f1adiendo la configuraci\u00f3n en el Web.Config<\/strong>, por ejemplo:<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n  &amp;lt;cacheManager xmlns=&quot;http:\/\/cachemanager.net\/schemas\/CacheManagerCfg.xsd&quot;&amp;gt;\r\n    &amp;lt;managers&amp;gt;\r\n      &amp;lt;cache name=&quot;cacheProfile&quot; enableStatistics=&quot;false&quot; serializerType=&quot;CacheManager.Serialization.Json.JsonCacheSerializer, CacheManager.Serialization.Json&quot;&amp;gt;\r\n        &amp;lt;handle name=&quot;redis1&quot; ref=&quot;redisHandle&quot; expirationMode=&quot;None&quot; isBackplaneSource=&quot;true&quot; \/&amp;gt;\r\n      &amp;lt;\/cache&amp;gt;\r\n    &amp;lt;\/managers&amp;gt;\r\n    &amp;lt;cacheHandles&amp;gt;\r\n      &amp;lt;handleDef id=&quot;runtimeHandle&quot; type=&quot;CacheManager.SystemRuntimeCaching.MemoryCacheHandle`1, CacheManager.SystemRuntimeCaching&quot; defaultExpirationMode=&quot;Sliding&quot; defaultTimeout=&quot;5m&quot; \/&amp;gt;\r\n      &amp;lt;handleDef id=&quot;redisHandle&quot; type=&quot;CacheManager.Redis.RedisCacheHandle`1, CacheManager.StackExchange.Redis&quot; defaultExpirationMode=&quot;Sliding&quot; defaultTimeout=&quot;5m&quot; \/&amp;gt;\r\n    &amp;lt;\/cacheHandles&amp;gt;\r\n  &amp;lt;\/cacheManager&amp;gt;\r\n  &amp;lt;cacheManager.Redis&amp;gt;\r\n    &amp;lt;connections&amp;gt;\r\n      &amp;lt;connection id=&quot;redis1&quot; database=&quot;1&quot; strictCompatibilityModeVersion=&quot;3.0&quot; connectionString=&quot;xxxxx&quot; \/&amp;gt;\r\n    &amp;lt;\/connections&amp;gt;\r\n  &amp;lt;\/cacheManager.Redis&amp;gt;\r\n<\/pre>\n<p>Desde el c\u00f3digo, le tendremos que <strong>indicar que la configuraci\u00f3n de nuestro Cache Manager esta en dicha secci\u00f3n<\/strong>. Para ello hay que a\u00f1adir el siguiente c\u00f3digo:<\/p>\n<pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\r\n  var cacheConfig = ConfigurationBuilder.LoadConfiguration(&quot;cacheProfile&quot;);\r\n<\/pre>\n<p>Una vez tenemos el Cache Manager configurado, el siguiente paso es ver cu\u00e1les son las opciones para almacenar y guardar los valores.<br \/>\nPara guardar nuestros objetos tendr\u00edamos que poner un c\u00f3digo similar al siguiente:<\/p>\n<pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\r\n    Profile viewProfile = new Profile(this.ProfileService, this.Logger, User.Identity.Name,\r\n                    Literals.Culture.Name);\r\n    Cache.Put($&quot;Profile&quot;, viewProfile );\r\n<\/pre>\n<p>Donde <em>Cache<\/em> es un objeto de tipo ICacheManager, el c\u00f3digo no tiene mucho m\u00e1s misterio. <strong>Instanciamos un viewModel<\/strong> que nos da las propiedades de un usuario y estas propiedades las guardamos en el Cache Manager.<\/p>\n<p>\u00bfC\u00f3mo obtenemos esos valores?:<\/p>\n<pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\r\nProfile viewProfile=  Cache.Get($&quot;Profile&quot;);\r\n<\/pre>\n<p>As\u00ed de simple, y sin tener que hacer ninguna conversi\u00f3n \u00abextra\u00bb.<\/p>\n<h2>Extra Bonus: Inyeccion de dependencias<\/h2>\n<p>&nbsp;<\/p>\n<p>Otra de las cosas buenas que tiene es que <strong>lo podemos utilizar dentro de nuestro contenedor de inyecci\u00f3n de dependencias<\/strong> como una dependencia m\u00e1s de nuestro proyecto.<\/p>\n<p>Un ejemplo utilizando <a href=\"https:\/\/autofac.org\/\" target=\"_blank\" rel=\"noopener\">AutoFac <\/a> ser\u00eda el siguiente c\u00f3digo:<\/p>\n<pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\r\n          var serviceLocator = new ServiceLocator();\r\n            serviceLocator.Builder.RegisterControllers(Assembly.GetExecutingAssembly()).PropertiesAutowired();\r\n\r\n            var cacheConfig = ConfigurationBuilder.LoadConfiguration(&quot;cacheProfile&quot;);\r\n            serviceLocator.Builder.RegisterGeneric(typeof(BaseCacheManager&amp;lt;&amp;gt;))\r\n                .WithParameters(new&#x5B;]\r\n                {\r\n                    new TypedParameter(typeof(ICacheManagerConfiguration), cacheConfig)\r\n                })\r\n                .As(typeof(ICacheManager&amp;lt;&amp;gt;))\r\n                .SingleInstance();\r\n            serviceLocator.Builder.RegisterModule(new DataModule());\r\n            serviceLocator.Builder.RegisterModule(new InfraestructureModule());\r\n            serviceLocator.Builder.RegisterModule(new ServicesModule());\r\n            serviceLocator.BuildContainer();\r\n            DependencyResolver.SetResolver(new AutofacDependencyResolver(serviceLocator.Container));     \r\n<\/pre>\n<p>Ojo&#8230; con el tema de la<strong> inyecci\u00f3n de dependencias<\/strong> hay que tener muy claro c\u00f3mo se utiliza, puesto que una mala utilizaci\u00f3n puede provocar que no se liberen las conexiones correctamente y haga que nuestra <em>Cache<\/em> caiga. \u00a0Si no ten\u00e9is claro c\u00f3mo hacerlo, os sugiero que le\u00e1is este <a href=\"https:\/\/gavinb.net\/2015\/07\/11\/dont-get-burned-by-redis-connectionmultiplexer-a-sample-wrapper\/\" target=\"_blank\" rel=\"noopener\">post .<\/a><\/p>\n<h2>Resumen<\/h2>\n<p>&nbsp;<\/p>\n<p>A lo largo de este post hemos visto c\u00f3mo hacer uso de <strong>Cache Manager<\/strong>, un framework para gestionar los elementos de <em>Cache<\/em> dentro de nuestros desarrollos. A la hora de utilizar una dll\/proyecto externo, hay que tener muy claro para qu\u00e9 se utiliza, y si nos aporta valor dentro de dicho proyecto. En este caso, creo que\u00a0<strong>Cache Manager<\/strong>\u00a0es una de esas soluciones que hay que utilizar \u00a0s\u00ed o s\u00ed, en el caso de que nuestro desarrollo utilice <em>Cache<\/em>.<\/p>\n<p><strong>Aporta simplicidad e independencia<\/strong> respecto al proveedor de<em> cache<\/em> que queramos utilizar, e incluso nos aporta otros beneficios dentro del desarrollo, como el tipado de los datos que se almacenan en el mismo.<\/p>\n<!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons generic via filter on the_content --><span class=\"et_bloom_bottom_trigger\"><\/span>","protected":false},"excerpt":{"rendered":"<p>A la hora de abordar un desarrollo Web, un aspecto fundamental es decidir d\u00f3nde guardamos los datos que se est\u00e1n generando de la propia navegaci\u00f3n, es decir, esos datos, que no tienen que estar en la base de datos, pero &hellip; <a href=\"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/cache-manager-agiliza-tus-desarrollos-azure\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><!-- AddThis Advanced Settings generic via filter on get_the_excerpt --><!-- AddThis Share Buttons generic via filter on get_the_excerpt --><\/p>\n","protected":false},"author":8,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[70,4,78],"tags":[],"class_list":["post-559","post","type-post","status-publish","format-standard","hentry","category-net","category-microsoft-azure","category-redis-cache"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v18.2.1 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Cache Manager : Agiliza tus desarrollos en Azure - Piensa en software, desarrolla en colores<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"http:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/cache-manager-agiliza-tus-desarrollos-azure\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Cache Manager : Agiliza tus desarrollos en Azure\" \/>\n<meta property=\"og:description\" content=\"A la hora de abordar un desarrollo Web, un aspecto fundamental es decidir d\u00f3nde guardamos los datos que se est\u00e1n generando de la propia navegaci\u00f3n, es decir, esos datos, que no tienen que estar en la base de datos, pero &hellip; Continue reading &rarr;\" \/>\n<meta property=\"og:url\" content=\"http:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/cache-manager-agiliza-tus-desarrollos-azure\/\" \/>\n<meta property=\"og:site_name\" content=\"Piensa en software, desarrolla en colores\" \/>\n<meta property=\"article:published_time\" content=\"2017-08-07T07:30:20+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2017-08-07T10:13:21+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/wp-content\/uploads\/sites\/21\/2017\/07\/Cache-Manager.png\" \/>\n<meta name=\"author\" content=\"Adri\u00e1n D\u00edaz\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Adri\u00e1n D\u00edaz\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"http:\\\/\\\/blogs.encamina.com\\\/piensa-en-software-desarrolla-en-colores\\\/cache-manager-agiliza-tus-desarrollos-azure\\\/#article\",\"isPartOf\":{\"@id\":\"http:\\\/\\\/blogs.encamina.com\\\/piensa-en-software-desarrolla-en-colores\\\/cache-manager-agiliza-tus-desarrollos-azure\\\/\"},\"author\":{\"name\":\"Adri\u00e1n D\u00edaz\",\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/piensa-en-software-desarrolla-en-colores\\\/#\\\/schema\\\/person\\\/c9bfaede1bfba9564bb7f500788782bb\"},\"headline\":\"Cache Manager : Agiliza tus desarrollos en Azure\",\"datePublished\":\"2017-08-07T07:30:20+00:00\",\"dateModified\":\"2017-08-07T10:13:21+00:00\",\"mainEntityOfPage\":{\"@id\":\"http:\\\/\\\/blogs.encamina.com\\\/piensa-en-software-desarrolla-en-colores\\\/cache-manager-agiliza-tus-desarrollos-azure\\\/\"},\"wordCount\":1072,\"commentCount\":0,\"image\":{\"@id\":\"http:\\\/\\\/blogs.encamina.com\\\/piensa-en-software-desarrolla-en-colores\\\/cache-manager-agiliza-tus-desarrollos-azure\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/blogs.encamina.com\\\/piensa-en-software-desarrolla-en-colores\\\/wp-content\\\/uploads\\\/sites\\\/21\\\/2017\\\/07\\\/Cache-Manager.png\",\"articleSection\":[\".NET\",\"Microsoft Azure\",\"Redis Cache\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"http:\\\/\\\/blogs.encamina.com\\\/piensa-en-software-desarrolla-en-colores\\\/cache-manager-agiliza-tus-desarrollos-azure\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"http:\\\/\\\/blogs.encamina.com\\\/piensa-en-software-desarrolla-en-colores\\\/cache-manager-agiliza-tus-desarrollos-azure\\\/\",\"url\":\"http:\\\/\\\/blogs.encamina.com\\\/piensa-en-software-desarrolla-en-colores\\\/cache-manager-agiliza-tus-desarrollos-azure\\\/\",\"name\":\"Cache Manager : Agiliza tus desarrollos en Azure - Piensa en software, desarrolla en colores\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/piensa-en-software-desarrolla-en-colores\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"http:\\\/\\\/blogs.encamina.com\\\/piensa-en-software-desarrolla-en-colores\\\/cache-manager-agiliza-tus-desarrollos-azure\\\/#primaryimage\"},\"image\":{\"@id\":\"http:\\\/\\\/blogs.encamina.com\\\/piensa-en-software-desarrolla-en-colores\\\/cache-manager-agiliza-tus-desarrollos-azure\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/blogs.encamina.com\\\/piensa-en-software-desarrolla-en-colores\\\/wp-content\\\/uploads\\\/sites\\\/21\\\/2017\\\/07\\\/Cache-Manager.png\",\"datePublished\":\"2017-08-07T07:30:20+00:00\",\"dateModified\":\"2017-08-07T10:13:21+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/piensa-en-software-desarrolla-en-colores\\\/#\\\/schema\\\/person\\\/c9bfaede1bfba9564bb7f500788782bb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\\\/\\\/blogs.encamina.com\\\/piensa-en-software-desarrolla-en-colores\\\/cache-manager-agiliza-tus-desarrollos-azure\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"http:\\\/\\\/blogs.encamina.com\\\/piensa-en-software-desarrolla-en-colores\\\/cache-manager-agiliza-tus-desarrollos-azure\\\/#primaryimage\",\"url\":\"https:\\\/\\\/blogs.encamina.com\\\/piensa-en-software-desarrolla-en-colores\\\/wp-content\\\/uploads\\\/sites\\\/21\\\/2017\\\/07\\\/Cache-Manager.png\",\"contentUrl\":\"https:\\\/\\\/blogs.encamina.com\\\/piensa-en-software-desarrolla-en-colores\\\/wp-content\\\/uploads\\\/sites\\\/21\\\/2017\\\/07\\\/Cache-Manager.png\",\"width\":450,\"height\":400,\"caption\":\"Cache Manager\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/piensa-en-software-desarrolla-en-colores\\\/#website\",\"url\":\"https:\\\/\\\/blogs.encamina.com\\\/piensa-en-software-desarrolla-en-colores\\\/\",\"name\":\"Piensa en software, desarrolla en colores\",\"description\":\"Las ventajas que te ofrece Microsoft Azure y el mundo.NET\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/blogs.encamina.com\\\/piensa-en-software-desarrolla-en-colores\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/piensa-en-software-desarrolla-en-colores\\\/#\\\/schema\\\/person\\\/c9bfaede1bfba9564bb7f500788782bb\",\"name\":\"Adri\u00e1n D\u00edaz\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/fe10b9eaf8ce4565ec75fba5a0d121c16186696e515cad2bedd42f6cf54e2007?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/fe10b9eaf8ce4565ec75fba5a0d121c16186696e515cad2bedd42f6cf54e2007?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/fe10b9eaf8ce4565ec75fba5a0d121c16186696e515cad2bedd42f6cf54e2007?s=96&d=mm&r=g\",\"caption\":\"Adri\u00e1n D\u00edaz\"},\"description\":\"Adri\u00e1n D\u00edaz es Ingeniero Inform\u00e1tico por la Universidad Polit\u00e9cnica de Valencia. Es MVP de Microsoft en la categor\u00eda Office Development desde 2014, MCPD de SharePoint 2010, Microsoft Active Profesional y Microsoft Comunity Contribuitor 2012. Cofundador del grupo de usuarios de SharePoint de Levante LevaPoint. Lleva desarrollando con tecnolog\u00edas Microsoft m\u00e1s de 10 a\u00f1os y desde hace 3 a\u00f1os est\u00e1 centrado en el desarrollo sobre SharePoint. Actualmente es Software &amp; Cloud Architect Lead en ENCAMINA.\",\"url\":\"https:\\\/\\\/blogs.encamina.com\\\/piensa-en-software-desarrolla-en-colores\\\/author\\\/desarrollandosobresharepoint\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Cache Manager : Agiliza tus desarrollos en Azure - Piensa en software, desarrolla en colores","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":"http:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/cache-manager-agiliza-tus-desarrollos-azure\/","og_locale":"es_ES","og_type":"article","og_title":"Cache Manager : Agiliza tus desarrollos en Azure","og_description":"A la hora de abordar un desarrollo Web, un aspecto fundamental es decidir d\u00f3nde guardamos los datos que se est\u00e1n generando de la propia navegaci\u00f3n, es decir, esos datos, que no tienen que estar en la base de datos, pero &hellip; Continue reading &rarr;","og_url":"http:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/cache-manager-agiliza-tus-desarrollos-azure\/","og_site_name":"Piensa en software, desarrolla en colores","article_published_time":"2017-08-07T07:30:20+00:00","article_modified_time":"2017-08-07T10:13:21+00:00","og_image":[{"url":"http:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/wp-content\/uploads\/sites\/21\/2017\/07\/Cache-Manager.png","type":"","width":"","height":""}],"author":"Adri\u00e1n D\u00edaz","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"Adri\u00e1n D\u00edaz","Tiempo de lectura":"5 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"http:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/cache-manager-agiliza-tus-desarrollos-azure\/#article","isPartOf":{"@id":"http:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/cache-manager-agiliza-tus-desarrollos-azure\/"},"author":{"name":"Adri\u00e1n D\u00edaz","@id":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/#\/schema\/person\/c9bfaede1bfba9564bb7f500788782bb"},"headline":"Cache Manager : Agiliza tus desarrollos en Azure","datePublished":"2017-08-07T07:30:20+00:00","dateModified":"2017-08-07T10:13:21+00:00","mainEntityOfPage":{"@id":"http:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/cache-manager-agiliza-tus-desarrollos-azure\/"},"wordCount":1072,"commentCount":0,"image":{"@id":"http:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/cache-manager-agiliza-tus-desarrollos-azure\/#primaryimage"},"thumbnailUrl":"http:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/wp-content\/uploads\/sites\/21\/2017\/07\/Cache-Manager.png","articleSection":[".NET","Microsoft Azure","Redis Cache"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["http:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/cache-manager-agiliza-tus-desarrollos-azure\/#respond"]}]},{"@type":"WebPage","@id":"http:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/cache-manager-agiliza-tus-desarrollos-azure\/","url":"http:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/cache-manager-agiliza-tus-desarrollos-azure\/","name":"Cache Manager : Agiliza tus desarrollos en Azure - Piensa en software, desarrolla en colores","isPartOf":{"@id":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/#website"},"primaryImageOfPage":{"@id":"http:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/cache-manager-agiliza-tus-desarrollos-azure\/#primaryimage"},"image":{"@id":"http:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/cache-manager-agiliza-tus-desarrollos-azure\/#primaryimage"},"thumbnailUrl":"http:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/wp-content\/uploads\/sites\/21\/2017\/07\/Cache-Manager.png","datePublished":"2017-08-07T07:30:20+00:00","dateModified":"2017-08-07T10:13:21+00:00","author":{"@id":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/#\/schema\/person\/c9bfaede1bfba9564bb7f500788782bb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["http:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/cache-manager-agiliza-tus-desarrollos-azure\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"http:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/cache-manager-agiliza-tus-desarrollos-azure\/#primaryimage","url":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/wp-content\/uploads\/sites\/21\/2017\/07\/Cache-Manager.png","contentUrl":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/wp-content\/uploads\/sites\/21\/2017\/07\/Cache-Manager.png","width":450,"height":400,"caption":"Cache Manager"},{"@type":"WebSite","@id":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/#website","url":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/","name":"Piensa en software, desarrolla en colores","description":"Las ventajas que te ofrece Microsoft Azure y el mundo.NET","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Person","@id":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/#\/schema\/person\/c9bfaede1bfba9564bb7f500788782bb","name":"Adri\u00e1n D\u00edaz","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/secure.gravatar.com\/avatar\/fe10b9eaf8ce4565ec75fba5a0d121c16186696e515cad2bedd42f6cf54e2007?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/fe10b9eaf8ce4565ec75fba5a0d121c16186696e515cad2bedd42f6cf54e2007?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/fe10b9eaf8ce4565ec75fba5a0d121c16186696e515cad2bedd42f6cf54e2007?s=96&d=mm&r=g","caption":"Adri\u00e1n D\u00edaz"},"description":"Adri\u00e1n D\u00edaz es Ingeniero Inform\u00e1tico por la Universidad Polit\u00e9cnica de Valencia. Es MVP de Microsoft en la categor\u00eda Office Development desde 2014, MCPD de SharePoint 2010, Microsoft Active Profesional y Microsoft Comunity Contribuitor 2012. Cofundador del grupo de usuarios de SharePoint de Levante LevaPoint. Lleva desarrollando con tecnolog\u00edas Microsoft m\u00e1s de 10 a\u00f1os y desde hace 3 a\u00f1os est\u00e1 centrado en el desarrollo sobre SharePoint. Actualmente es Software &amp; Cloud Architect Lead en ENCAMINA.","url":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/author\/desarrollandosobresharepoint\/"}]}},"_links":{"self":[{"href":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/wp-json\/wp\/v2\/posts\/559","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/wp-json\/wp\/v2\/comments?post=559"}],"version-history":[{"count":0,"href":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/wp-json\/wp\/v2\/posts\/559\/revisions"}],"wp:attachment":[{"href":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/wp-json\/wp\/v2\/media?parent=559"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/wp-json\/wp\/v2\/categories?post=559"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/wp-json\/wp\/v2\/tags?post=559"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}