{"id":1821,"date":"2014-12-16T17:45:31","date_gmt":"2014-12-16T17:45:30","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=1821"},"modified":"2023-06-28T01:24:29","modified_gmt":"2023-06-28T08:24:29","slug":"using-nginx-php-fpm-couchbase-how-and-why","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/pt\/using-nginx-php-fpm-couchbase-how-and-why\/","title":{"rendered":"Usando nginx e PHP-FPM com o Couchbase - Como e por qu\u00ea"},"content":{"rendered":"<p>Antes de come\u00e7armos, gostaria de indicar um blog do meu colega Michael Nitschinger, no qual voc\u00ea pode aprender sobre a melhor maneira de configurar seu ambiente b\u00e1sico de PHP e Couchbase, se n\u00e3o estiver usando nginx e PHP-FPM:\u00a0<br \/><a href=\"https:\/\/nitschinger.at\/Getting-Started-with-Couchbase-and-PHP\" target=\"_blank\" rel=\"noopener\">https:\/\/nitschinger.at\/Getting-Started-with-Couchbase-and-PHP<\/a><\/p>\n<p>Recentemente, temos visto muitas pessoas usando o SDK PHP do Couchbase junto com o nginx e o php-FPM.   No entanto, tem havido alguns problemas recorrentes entre esses usu\u00e1rios, que pretendo solucionar neste artigo!<\/p>\n<p>O problema que voc\u00ea pode estar enfrentando \u00e9 que n\u00e3o \u00e9 poss\u00edvel controlar o n\u00famero de conex\u00f5es feitas pelo FPM com o Couchbase; voc\u00ea est\u00e1 \u00e0 merc\u00ea do n\u00famero de processos filhos do PHP. O fato \u00e9 que, no FPM, voc\u00ea n\u00e3o precisa de tantas conex\u00f5es com o Couchbase quanto tem processos.<\/p>\n<p>Voc\u00ea perceber\u00e1 um enorme impacto no desempenho.  Digamos que nosso FPM max_children esteja definido como 300; sob carga, voc\u00ea ter\u00e1 300 processos PHP em execu\u00e7\u00e3o, e cada um deles pode ter 4 inst\u00e2ncias persistentes do CouchbaseClient. Em 16 m\u00e1quinas, isso representa quase 20.000 objetos clientes. Esses v\u00e1rios processos FPM paralelos n\u00e3o podem compartilhar uma conex\u00e3o com o Couchbase, e esse \u00e9 o nosso principal problema.  Nosso outro problema \u00e9 que, uma vez atingidos 300 processos, essas conex\u00f5es ser\u00e3o derrubadas e reiniciadas. Isso \u00e9 caro e \u00e9 algo que queremos evitar.<\/p>\n<p>Vamos nos distanciar um pouco e voltar \u00e0 raiz do problema. Nossos clientes inteligentes do Couchbase mant\u00eam uma conex\u00e3o aberta com o gerenciador REST do cluster para serem notificados sobre altera\u00e7\u00f5es na topologia.  Isso funciona bem para a maioria das linguagens em que normalmente usamos um n\u00famero limitado de processos e talvez apenas 2 a 3 objetos em cada um deles, de modo que cada servidor provavelmente teria apenas 5 conex\u00f5es desse tipo com o cluster.   No entanto, em uma implementa\u00e7\u00e3o de PHP com FPM, as pessoas normalmente criam cerca de 2.000 desses processos e, se voc\u00ea usar apenas _UM_ objeto do Couchbase em cada um deles, cada servidor ocupar\u00e1 2.000 conex\u00f5es com o nosso servidor REST.<\/p>\n<p>No entanto, h\u00e1 algumas maneiras de resolver esses problemas.  Uma maneira \u00e9 usar o <em><strong>Cache de configura\u00e7\u00e3o do Couchbase<\/strong><\/em>\u00a0 (Dispon\u00edvel no PHP SDK v1.1.5 +).  Ao usar o config_cache, a cria\u00e7\u00e3o de uma nova inst\u00e2ncia de cliente procura primeiro uma vers\u00e3o em cache da configura\u00e7\u00e3o do cluster; se ela for encontrada, o n\u00f3 n\u00e3o ser\u00e1 consultado para obter a configura\u00e7\u00e3o, apenas ser\u00e1 usado o valor em cache.  Se n\u00e3o for poss\u00edvel conectar-se por meio de uma configura\u00e7\u00e3o em cache, somente ent\u00e3o ele abrir\u00e1 uma conex\u00e3o (na porta 8091, falando HTTP) com um dos n\u00f3s do Couchbase que voc\u00ea passar para o construtor em seu c\u00f3digo.<\/p>\n<p>O config_cache \u00e9 um caminho opcional para um diret\u00f3rio em que a biblioteca pode armazenar arquivos que cont\u00eam a topologia do cluster. (Usado para armazenar em cache a configura\u00e7\u00e3o em vez de se conectar ao servidor REST todas as vezes para fazer o download).  Voc\u00ea pode ativar o cache de conex\u00e3o colocando a seguinte linha em seu arquivo <em><strong>Couchbase.ini<\/strong><\/em> file:<\/p>\n<p><span class=\"geshifilter\"><code class=\"php geshifilter-php\">couchbase<span style=\"color: #339933\">.<\/span>config_cache <span style=\"color: #339933\">=<\/span> <span style=\"color: #0000ff\">\"\/CAMINHO\/PARA\/ALGUM\/DIRET\u00d3RIO\"<\/span><\/code><\/span><\/p>\n<p>Voc\u00ea pode ler mais sobre o Config Cache aqui: <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/wiki\/display\/couchbase\/libcouchbase+configuration+cache\/\" target=\"_blank\" rel=\"noopener\">https:\/\/www.couchbase.com\/wiki\/display\/couchbase\/libcouchbase+configuration+cache<\/a><\/p>\n<p>Ao utilizar o Config_Cache, podemos remover cerca de \u00be das conex\u00f5es que teriam sido feitas, economizando recursos e corrigindo parcialmente o problema.  As conex\u00f5es persistentes tamb\u00e9m s\u00e3o mais compartilhadas, o que pode proporcionar um pouco mais de efici\u00eancia.  Tamb\u00e9m podemos alterar a configura\u00e7\u00e3o do FPM para n\u00e3o executar tantos processos paralelos, reduzindo o max_children e aumentando o max_requests.  Sugiro que tentemos ajustar o valor de pm.max_requests de 300 para 3000 ou 5000 (dependendo do tipo de incha\u00e7o de mem\u00f3ria que voc\u00ea v\u00ea em seus processos PHP ao longo do tempo), o que tamb\u00e9m reduzir\u00e1 o n\u00famero de vezes que esses objetos do cliente precisam ser recriados.  Tamb\u00e9m podemos reduzir o n\u00famero de pm.max_children para 100 ou mais.<\/p>\n<p>D\u00ea uma olhada no meu exemplo de arquivo FPM.conf para refer\u00eancia: <a href=\"https:\/\/gist.github.com\/rbin\/82e47f7f75f2072f02fd\" target=\"_blank\" rel=\"noopener\">https:\/\/gist.github.com\/rbin\/82e47f7f75f2072f02fd<\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>Before we get started, I\u2019d like to point you a blog by my colleague Michael Nitschinger, in which you can learn about the best way to set up your basic PHP and Couchbase Environment, if not using nginx &amp; PHP-FPM:\u00a0https:\/\/nitschinger.at\/Getting-Started-with-Couchbase-and-PHP [&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-1821","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.2 (Yoast SEO v26.2) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Using nginx &amp; PHP-FPM with Couchbase \u2013 The How, and the Why - 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\/using-nginx-php-fpm-couchbase-how-and-why\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Using nginx &amp; PHP-FPM with Couchbase \u2013 The How, and the Why\" \/>\n<meta property=\"og:description\" content=\"Before we get started, I\u2019d like to point you a blog by my colleague Michael Nitschinger, in which you can learn about the best way to set up your basic PHP and Couchbase Environment, if not using nginx &amp; PHP-FPM:\u00a0https:\/\/nitschinger.at\/Getting-Started-with-Couchbase-and-PHP [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/pt\/using-nginx-php-fpm-couchbase-how-and-why\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2014-12-16T17:45:30+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-06-28T08:24:29+00:00\" \/>\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=\"3 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/using-nginx-php-fpm-couchbase-how-and-why\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/using-nginx-php-fpm-couchbase-how-and-why\/\"},\"author\":{\"name\":\"The Couchbase Team\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/764f4a6771ee19bc7af70b70a326fb93\"},\"headline\":\"Using nginx &amp; PHP-FPM with Couchbase \u2013 The How, and the Why\",\"datePublished\":\"2014-12-16T17:45:30+00:00\",\"dateModified\":\"2023-06-28T08:24:29+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/using-nginx-php-fpm-couchbase-how-and-why\/\"},\"wordCount\":660,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/using-nginx-php-fpm-couchbase-how-and-why\/#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\/using-nginx-php-fpm-couchbase-how-and-why\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/using-nginx-php-fpm-couchbase-how-and-why\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/using-nginx-php-fpm-couchbase-how-and-why\/\",\"name\":\"Using nginx &amp; PHP-FPM with Couchbase \u2013 The How, and the Why - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/using-nginx-php-fpm-couchbase-how-and-why\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/using-nginx-php-fpm-couchbase-how-and-why\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2014-12-16T17:45:30+00:00\",\"dateModified\":\"2023-06-28T08:24:29+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/using-nginx-php-fpm-couchbase-how-and-why\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/using-nginx-php-fpm-couchbase-how-and-why\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/using-nginx-php-fpm-couchbase-how-and-why\/#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\/using-nginx-php-fpm-couchbase-how-and-why\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Using nginx &amp; PHP-FPM with Couchbase \u2013 The How, and the Why\"}]},{\"@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":"Using nginx &amp; PHP-FPM with Couchbase \u2013 The How, and the Why - 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\/using-nginx-php-fpm-couchbase-how-and-why\/","og_locale":"pt_BR","og_type":"article","og_title":"Using nginx &amp; PHP-FPM with Couchbase \u2013 The How, and the Why","og_description":"Before we get started, I\u2019d like to point you a blog by my colleague Michael Nitschinger, in which you can learn about the best way to set up your basic PHP and Couchbase Environment, if not using nginx &amp; PHP-FPM:\u00a0https:\/\/nitschinger.at\/Getting-Started-with-Couchbase-and-PHP [&hellip;]","og_url":"https:\/\/www.couchbase.com\/blog\/pt\/using-nginx-php-fpm-couchbase-how-and-why\/","og_site_name":"The Couchbase Blog","article_published_time":"2014-12-16T17:45:30+00:00","article_modified_time":"2023-06-28T08:24:29+00:00","author":"The Couchbase Team","twitter_card":"summary_large_image","twitter_misc":{"Written by":"The Couchbase Team","Est. reading time":"3 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/using-nginx-php-fpm-couchbase-how-and-why\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/using-nginx-php-fpm-couchbase-how-and-why\/"},"author":{"name":"The Couchbase Team","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/764f4a6771ee19bc7af70b70a326fb93"},"headline":"Using nginx &amp; PHP-FPM with Couchbase \u2013 The How, and the Why","datePublished":"2014-12-16T17:45:30+00:00","dateModified":"2023-06-28T08:24:29+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/using-nginx-php-fpm-couchbase-how-and-why\/"},"wordCount":660,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/using-nginx-php-fpm-couchbase-how-and-why\/#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\/using-nginx-php-fpm-couchbase-how-and-why\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/using-nginx-php-fpm-couchbase-how-and-why\/","url":"https:\/\/www.couchbase.com\/blog\/using-nginx-php-fpm-couchbase-how-and-why\/","name":"Using nginx &amp; PHP-FPM with Couchbase \u2013 The How, and the Why - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/using-nginx-php-fpm-couchbase-how-and-why\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/using-nginx-php-fpm-couchbase-how-and-why\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2014-12-16T17:45:30+00:00","dateModified":"2023-06-28T08:24:29+00:00","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/using-nginx-php-fpm-couchbase-how-and-why\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/using-nginx-php-fpm-couchbase-how-and-why\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/using-nginx-php-fpm-couchbase-how-and-why\/#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\/using-nginx-php-fpm-couchbase-how-and-why\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Using nginx &amp; PHP-FPM with Couchbase \u2013 The How, and the Why"}]},{"@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\/1821","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=1821"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/1821\/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=1821"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/categories?post=1821"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/tags?post=1821"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/ppma_author?post=1821"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}