{"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\/pt\/memcached-and-client-database-udfs\/","title":{"rendered":"memcached e o cliente: UDFs de banco de dados"},"content":{"rendered":"<p>Patrick Galbraith, da NorthScale, \u00e9, h\u00e1 muitos anos, autor e mantenedor do site <a href=\"https:\/\/capttofu.livejournal.com\/25044.html\">MySQL, e agora Drizzle, UDFs para memcached<\/a>. Na semana passada, Patrick deu um passo adiante com o lan\u00e7amento mais recente, a vers\u00e3o 1.1, que agora inclui suporte para opera\u00e7\u00f5es \"check and set\" (tamb\u00e9m conhecidas como CAS).<\/p>\n<p>As fun\u00e7\u00f5es definidas pelo usu\u00e1rio est\u00e3o dispon\u00edveis para v\u00e1rios bancos de dados diferentes. Isso permite que algum tipo de linguagem de procedimento armazenado ou outros acionadores executem outro c\u00f3digo importado para o banco de dados. No caso da UDF do memcached, isso significa dar aos procedimentos armazenados a capacidade de chamar opera\u00e7\u00f5es do memcached.<\/p>\n<p>A ideia geral aqui \u00e9 bem simples. A maioria dos aplicativos come\u00e7a com um banco de dados, embora seja sempre poss\u00edvel usar servi\u00e7os da Web ou arquivos simples. Independentemente de onde os dados s\u00e3o persistidos, para manter o cache sempre atualizado com o sistema de registro (SoR), uma abordagem muito, muito simples \u00e9 propagar invalida\u00e7\u00f5es (ou seja, exclus\u00f5es) para o cache sempre que voc\u00ea atualizar um registro no SoR. Os bancos de dados, \u00fanicos ou fragmentados, s\u00e3o muito populares para gerenciar dados de aplicativos, portanto, eles t\u00eam uma fun\u00e7\u00e3o nesse padr\u00e3o. No diagrama abaixo, quando o aplicativo precisa atualizar um registro com base na intera\u00e7\u00e3o do usu\u00e1rio (#1), o banco de dados pode, se o UDF estiver habilitado e informado como faz\u00ea-lo, invalidar esses dados no cache (#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>Isso n\u00e3o serve para tudo, pois v\u00e1rias opera\u00e7\u00f5es podem n\u00e3o ser aplicadas como uma transa\u00e7\u00e3o do aplicativo, mas \u00e9 simples de configurar e funciona para muitos aplicativos.<\/p>\n<p>Al\u00e9m das excelentes UDFs do Patrick para MySQL e Drizzle, h\u00e1 <a href=\"https:\/\/pgfoundry.org\/projects\/pgmemcache\/\">pgmemcache para PostgreSQL<\/a>e at\u00e9 mesmo um prot\u00f3tipo de <a href=\"https:\/\/blogs.sun.com\/kah\/entry\/memcached_udf_for_java_db\">UDFs para o Apache Derby<\/a> (tamb\u00e9m conhecido como JavaDB).<\/p>\n<p>Ah, e sobre o novo recurso CAS que Patrick adicionou ao MySQL\/Drizzle UDF. A maioria dos usu\u00e1rios do memcached come\u00e7a com as coisas pequenas: gets e sets. Em seguida, encontram utilidade para opera\u00e7\u00f5es como add. Em pouco tempo, eles est\u00e3o se esfor\u00e7ando para lidar com clientes distribu\u00eddos que desejam atualizar um item. Em um alto n\u00edvel, \u00e9 a\u00ed que entram as opera\u00e7\u00f5es de \"verifica\u00e7\u00e3o e defini\u00e7\u00e3o\" (tamb\u00e9m conhecidas como CAS). D\u00ea uma olhada na vers\u00e3o original <a href=\"https:\/\/github.com\/dustin\/memcached\/blob\/master\/doc\/protocol.txt#L150\">protocolo.txt<\/a> (ou o <a href=\"https:\/\/code.google.com\/p\/memcached\/wiki\/MemcacheBinaryProtocol\">protocolo bin\u00e1rio doc<\/a>) para ver como voc\u00ea pode usar isso. Em particular, a adi\u00e7\u00e3o do CAS permite implementar algoritmos sem bloqueio, frequentemente necess\u00e1rios quando v\u00e1rios sistemas desejam atualizar um item em um sistema distribu\u00eddo.<\/p>\n<p>Entre na lista de <a href=\"https:\/\/memcached.org\">memcached.org<\/a> se estiver procurando mais informa\u00e7\u00f5es.<\/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 v26.5 (Yoast SEO v26.5) - 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\/pt\/memcached-and-client-database-udfs\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\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\/pt\/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\":\"pt-BR\",\"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\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/memcached-and-client-database-udfs\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@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\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@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\":\"pt-BR\",\"@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\/pt\/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\/pt\/memcached-and-client-database-udfs\/","og_locale":"pt_BR","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\/pt\/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":"pt-BR","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":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/memcached-and-client-database-udfs\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@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":"Blog do Couchbase","description":"Couchbase, o banco de dados 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":"pt-BR"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"Blog do Couchbase","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@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":"A equipe do Couchbase","image":{"@type":"ImageObject","inLanguage":"pt-BR","@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 \u00e9 gerente s\u00eanior de Web na Couchbase Inc. Como gerente do site, Jennifer tem a responsabilidade geral pelas propriedades do site, incluindo design, implementa\u00e7\u00e3o, conte\u00fado e desempenho.","sameAs":["https:\/\/www.couchbase.com"],"url":"https:\/\/www.couchbase.com\/blog\/pt\/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","author_category":"","last_name":"Garcia","first_name":"Jennifer","job_title":"","user_url":"https:\/\/www.couchbase.com","description":"Jennifer Garcia \u00e9 gerente s\u00eanior de Web na Couchbase Inc. Como gerente do site, Jennifer tem a responsabilidade geral pelas propriedades do site, incluindo design, implementa\u00e7\u00e3o, conte\u00fado e desempenho."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/1695","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/comments?post=1695"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/1695\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media\/13873"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media?parent=1695"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/categories?post=1695"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/tags?post=1695"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/ppma_author?post=1695"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}