{"id":1695,"date":"2014-12-16T19:21:34","date_gmt":"2014-12-16T19:21:34","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=1695"},"modified":"2018-06-11T01:06:26","modified_gmt":"2018-06-11T08:06:26","slug":"memcached-and-client-database-udfs","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/es\/memcached-and-client-database-udfs\/","title":{"rendered":"memcached y el cliente: UDFs de base de datos"},"content":{"rendered":"<p>Desde hace muchos a\u00f1os, Patrick Galbraith, de NorthScale, es el autor y responsable de la publicaci\u00f3n <a href=\"https:\/\/capttofu.livejournal.com\/25044.html\">MySQL, y ahora Drizzle, UDFs para memcached<\/a>. La semana pasada, Patrick dio un paso m\u00e1s con la \u00faltima versi\u00f3n, la 1.1, que ahora incluye compatibilidad con las operaciones \"check and set\" (tambi\u00e9n conocidas como CAS).<\/p>\n<p>Las Funciones Definidas por el Usuario est\u00e1n disponibles para diferentes bases de datos. Esto permite que alg\u00fan tipo de lenguaje de procedimientos almacenados u otros disparadores ejecuten otro c\u00f3digo importado en la BD. En el caso del UDF memcached, esto significa dar a los procedimientos almacenados la capacidad de llamar a operaciones memcached.<\/p>\n<p>La idea general es bastante sencilla. La mayor\u00eda de las aplicaciones comienzan con una base de datos, aunque siempre es posible utilizar servicios web o archivos planos. Independientemente de d\u00f3nde se almacenen los datos, para mantener la cach\u00e9 siempre actualizada con el Sistema de Registro (SoR), un enfoque muy, muy sencillo es propagar las invalidaciones (es decir, los borrados) a la cach\u00e9 cada vez que se actualiza un registro en el SoR. Las bases de datos, ya sean individuales o fragmentadas, son muy populares para gestionar los datos de las aplicaciones, por lo que tienen un papel en este patr\u00f3n. En el siguiente diagrama, cuando la aplicaci\u00f3n necesita actualizar un registro bas\u00e1ndose en la interacci\u00f3n del usuario (#1) la base de datos puede, si UDF est\u00e1 habilitado y se le indica c\u00f3mo hacerlo, invalidar esos datos en la cach\u00e9 (#2).<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-5303\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2014\/12\/UDF-Pattern-Diagram-300x199.png\" alt=\"\" width=\"300\" height=\"199\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2014\/12\/UDF-Pattern-Diagram-300x199.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2014\/12\/UDF-Pattern-Diagram-400x267.png 400w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2014\/12\/UDF-Pattern-Diagram-450x300.png 450w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2014\/12\/UDF-Pattern-Diagram-20x13.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2014\/12\/UDF-Pattern-Diagram.png 694w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>Esto no es para todo, ya que las operaciones m\u00faltiples pueden no ejecutarse como una transacci\u00f3n desde la aplicaci\u00f3n, pero es sencillo de configurar y funciona para un gran n\u00famero de aplicaciones.<\/p>\n<p>Adem\u00e1s de las excelentes UDFs de Patrick para MySQL y Drizzle, hay <a href=\"https:\/\/pgfoundry.org\/projects\/pgmemcache\/\">pgmemcache para PostgreSQL<\/a>e incluso un prototipo de <a href=\"https:\/\/blogs.sun.com\/kah\/entry\/memcached_udf_for_java_db\">UDFs para Apache Derby<\/a> (tambi\u00e9n conocido como JavaDB).<\/p>\n<p>Ah, y sobre esa nueva caracter\u00edstica CAS que Patrick a\u00f1adi\u00f3 a la UDF MySQL\/Drizzle. La mayor\u00eda de los usuarios de memcached empiezan con las cosas peque\u00f1as: gets y sets. Luego encuentran utilidad para operaciones como add. En poco tiempo, se enfrentan a c\u00f3mo tratar con clientes distribuidos que quieren actualizar un elemento. A alto nivel, aqu\u00ed es donde entran en juego las operaciones \"check and set\" (tambi\u00e9n conocidas como CAS). Echa un vistazo al <a href=\"https:\/\/github.com\/dustin\/memcached\/blob\/master\/doc\/protocol.txt#L150\">protocolo.txt<\/a> (o el <a href=\"https:\/\/code.google.com\/p\/memcached\/wiki\/MemcacheBinaryProtocol\">protocolo binario doc<\/a>) para ver c\u00f3mo puede utilizarlo. En particular, la adici\u00f3n de CAS permite implementar algoritmos sin bloqueo, necesarios cuando varios sistemas desean actualizar un elemento en un sistema distribuido.<\/p>\n<p>Entre en la lista de <a href=\"https:\/\/memcached.org\">memcached.org<\/a> si busca m\u00e1s informaci\u00f3n.<\/p>","protected":false},"excerpt":{"rendered":"<p>NorthScale&#8217;s own Patrick Galbraith has, for many years now, authored and maintained the MySQL, and now Drizzle, UDFs for memcached. Last week, Patrick took this one step further with the latest release, version 1.1, which now includes support for &#8220;check [&hellip;]<\/p>","protected":false},"author":2,"featured_media":13873,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1],"tags":[],"ppma_author":[8968],"class_list":["post-1695","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.7.1 (Yoast SEO v25.7) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>memcached and the client: Database UDFs - The Couchbase Blog<\/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.couchbase.com\/blog\/es\/memcached-and-client-database-udfs\/\" \/>\n<meta property=\"og:locale\" content=\"es_MX\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"memcached and the client: Database UDFs\" \/>\n<meta property=\"og:description\" content=\"NorthScale&#8217;s own Patrick Galbraith has, for many years now, authored and maintained the MySQL, and now Drizzle, UDFs for memcached. Last week, Patrick took this one step further with the latest release, version 1.1, which now includes support for &#8220;check [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/es\/memcached-and-client-database-udfs\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2014-12-16T19:21:34+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2018-06-11T08:06:26+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2022\/11\/couchbase-nosql-dbaas.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1800\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"The Couchbase Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"The Couchbase Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/memcached-and-client-database-udfs\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/memcached-and-client-database-udfs\/\"},\"author\":{\"name\":\"The Couchbase Team\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/764f4a6771ee19bc7af70b70a326fb93\"},\"headline\":\"memcached and the client: Database UDFs\",\"datePublished\":\"2014-12-16T19:21:34+00:00\",\"dateModified\":\"2018-06-11T08:06:26+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/memcached-and-client-database-udfs\/\"},\"wordCount\":412,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/memcached-and-client-database-udfs\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"articleSection\":[\"Uncategorized\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/memcached-and-client-database-udfs\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/memcached-and-client-database-udfs\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/memcached-and-client-database-udfs\/\",\"name\":\"memcached and the client: Database UDFs - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/memcached-and-client-database-udfs\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/memcached-and-client-database-udfs\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2014-12-16T19:21:34+00:00\",\"dateModified\":\"2018-06-11T08:06:26+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/memcached-and-client-database-udfs\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/memcached-and-client-database-udfs\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/memcached-and-client-database-udfs\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"width\":1800,\"height\":630},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/memcached-and-client-database-udfs\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"memcached and the client: Database UDFs\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/764f4a6771ee19bc7af70b70a326fb93\",\"name\":\"The Couchbase Team\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/7befc37d02226b59499817eafdec60c3\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/b4c18c758421903398e84d6c9560f319f39c665798d7d23e6a6f9dff8a8f984e?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/b4c18c758421903398e84d6c9560f319f39c665798d7d23e6a6f9dff8a8f984e?s=96&d=mm&r=g\",\"caption\":\"The Couchbase Team\"},\"description\":\"Jennifer Garcia is a Senior Web Manager at Couchbase Inc. As the website manager, Jennifer has overall responsibility for the website properties including design, implementation, content, and performance.\",\"sameAs\":[\"https:\/\/www.couchbase.com\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/es\/author\/jennifer-garcia\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"memcached and the client: Database UDFs - The Couchbase Blog","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.couchbase.com\/blog\/es\/memcached-and-client-database-udfs\/","og_locale":"es_MX","og_type":"article","og_title":"memcached and the client: Database UDFs","og_description":"NorthScale&#8217;s own Patrick Galbraith has, for many years now, authored and maintained the MySQL, and now Drizzle, UDFs for memcached. Last week, Patrick took this one step further with the latest release, version 1.1, which now includes support for &#8220;check [&hellip;]","og_url":"https:\/\/www.couchbase.com\/blog\/es\/memcached-and-client-database-udfs\/","og_site_name":"The Couchbase Blog","article_published_time":"2014-12-16T19:21:34+00:00","article_modified_time":"2018-06-11T08:06:26+00:00","og_image":[{"width":1800,"height":630,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2022\/11\/couchbase-nosql-dbaas.png","type":"image\/png"}],"author":"The Couchbase Team","twitter_card":"summary_large_image","twitter_misc":{"Written by":"The Couchbase Team","Est. reading time":"2 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/memcached-and-client-database-udfs\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/memcached-and-client-database-udfs\/"},"author":{"name":"The Couchbase Team","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/764f4a6771ee19bc7af70b70a326fb93"},"headline":"memcached and the client: Database UDFs","datePublished":"2014-12-16T19:21:34+00:00","dateModified":"2018-06-11T08:06:26+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/memcached-and-client-database-udfs\/"},"wordCount":412,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/memcached-and-client-database-udfs\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","articleSection":["Uncategorized"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/memcached-and-client-database-udfs\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/memcached-and-client-database-udfs\/","url":"https:\/\/www.couchbase.com\/blog\/memcached-and-client-database-udfs\/","name":"memcached and the client: Database UDFs - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/memcached-and-client-database-udfs\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/memcached-and-client-database-udfs\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2014-12-16T19:21:34+00:00","dateModified":"2018-06-11T08:06:26+00:00","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/memcached-and-client-database-udfs\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/memcached-and-client-database-udfs\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/memcached-and-client-database-udfs\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","width":1800,"height":630},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/memcached-and-client-database-udfs\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"memcached and the client: Database UDFs"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"El blog de Couchbase","description":"Couchbase, la base de datos NoSQL","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"El blog de Couchbase","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/764f4a6771ee19bc7af70b70a326fb93","name":"El equipo de Couchbase","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/7befc37d02226b59499817eafdec60c3","url":"https:\/\/secure.gravatar.com\/avatar\/b4c18c758421903398e84d6c9560f319f39c665798d7d23e6a6f9dff8a8f984e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/b4c18c758421903398e84d6c9560f319f39c665798d7d23e6a6f9dff8a8f984e?s=96&d=mm&r=g","caption":"The Couchbase Team"},"description":"Jennifer Garcia es Gerente Senior de Web en Couchbase Inc. Como responsable del sitio web, Jennifer tiene la responsabilidad general de las propiedades del sitio web, incluido el dise\u00f1o, la implementaci\u00f3n, el contenido y el rendimiento.","sameAs":["https:\/\/www.couchbase.com"],"url":"https:\/\/www.couchbase.com\/blog\/es\/author\/jennifer-garcia\/"}]}},"authors":[{"term_id":8968,"user_id":2,"is_guest":0,"slug":"jennifer-garcia","display_name":"The Couchbase Team","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/b4c18c758421903398e84d6c9560f319f39c665798d7d23e6a6f9dff8a8f984e?s=96&d=mm&r=g","first_name":"Jennifer","last_name":"Garcia","user_url":"https:\/\/www.couchbase.com","author_category":"","description":"Jennifer Garcia es Gerente Senior de Web en Couchbase Inc. Como responsable del sitio web, Jennifer tiene la responsabilidad general de las propiedades del sitio web, incluido el dise\u00f1o, la implementaci\u00f3n, el contenido y el rendimiento."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/1695","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/comments?post=1695"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/1695\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media\/13873"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media?parent=1695"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/categories?post=1695"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/tags?post=1695"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/ppma_author?post=1695"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}