{"id":104195,"date":"2022-05-31T15:36:40","date_gmt":"2022-05-31T13:36:41","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/proekt-dragonfly-razvivaet-bolee-bystruyu-zamenu-redis-i-memcached"},"modified":"2022-05-31T15:36:40","modified_gmt":"2022-05-31T13:36:41","slug":"proekt-dragonfly-razvivaet-bolee-bystruyu-zamenu-redis-i-memcached","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/news\/proekt-dragonfly-razvivaet-bolee-bystruyu-zamenu-redis-i-memcached","title":{"rendered":"Il progetto Dragonfly sviluppa un'alternativa pi\u00f9 veloce a Redis e Memcached.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>\u00c8 disponibile il primo rilascio del sistema di caching in memoria Dragonfly, che supporta i protocolli Memcached e Redis, ma consente di eseguire richieste con prestazioni significativamente superiori e un minor consumo di memoria. Il sistema gestisce i dati in formato chiave\/valore e pu\u00f2 essere utilizzato come soluzione leggera per accelerare il funzionamento di siti web ad alto carico, memorizzando nella cache richieste lente ai database e dati intermedi in memoria. Il codice di Dragonfly \u00e8 scritto in C\/C++ ed \u00e8 distribuito con licenza BSL (Business Source License).      <\/p>\n<p>La licenza BSL \u00e8 stata proposta dai co-fondatori di MySQL come alternativa al modello Open Core. Il nocciolo della BSL \u00e8 che il codice delle funzionalit\u00e0 avanzate \u00e8 inizialmente disponibile per modifiche, ma per un certo periodo pu\u00f2 essere utilizzato gratuitamente solo a condizione di rispettare ulteriori requisiti, per evitare i quali \u00e8 necessaria l'acquisto di una licenza commerciale. I requisiti di licenza aggiuntivi del progetto Dragonfly prevedono che il codice venga trasferito alla licenza Apache 2.0 solo il 1\u00b0 giugno 2027. Fino a quel momento, la licenza consente di utilizzare il codice solo per garantire il funzionamento dei propri servizi e prodotti, ma vieta l'uso per la creazione di servizi cloud a pagamento che si sovrappongono a Dragonfly.     <\/p>\n<p>Secondo quanto dichiarato dagli sviluppatori e i test dimostrati, Dragonfly aspira a diventare il sistema di archiviazione in memoria pi\u00f9 veloce. Rispetto a Redis, con Dragonfly si \u00e8 riusciti a ottenere un aumento delle prestazioni di 25 volte e una riduzione del consumo di memoria di tre volte sotto carichi di lavoro normali. <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/it\/server\/\"   title=\"server\" data-wpil-keyword-link=\"linked\">server<\/a> Dragonfly pu\u00f2 gestire milioni di richieste al secondo; ad esempio, nell'ambiente Amazon EC2 c6gn.16xlarge si \u00e8 raggiunta una prestazione di 3,8 milioni di richieste al secondo.     <center><img decoding=\"async\" alt=\"Il progetto Dragonfly sviluppa un&#039;alternativa pi\u00f9 veloce a Redis e Memcached. \" src=\"\/wp-content\/uploads\/2022\/05\/9997bd16df013e419874fb272b88ed35.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/center>      <\/p>\n<p>Nei test di archiviazione di 5 GB di dati, Dragonfly ha richiesto il 30% in meno di memoria rispetto a Redis. Durante la creazione degli snapshot con il comando &lt;bgsave&gt;, il consumo di memoria aumenta, ma nei momenti di picco rimane quasi tre volte inferiore rispetto a Redis, e l'operazione di scrittura dello snapshot viene eseguita significativamente pi\u00f9 velocemente (nel test, uno snapshot in Dragonfly \u00e8 stato registrato in 30 secondi, mentre in Redis in 42 secondi).  <center><img decoding=\"async\" alt=\"Il progetto Dragonfly sviluppa un&#039;alternativa pi\u00f9 veloce a Redis e Memcached. \" src=\"\/wp-content\/uploads\/2022\/05\/51dff51043de479e255d2cbdbb876605.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/center>                      <\/p>\n<p>Le alte prestazioni sono raggiunte grazie a un'architettura multi-threading senza condivisione delle risorse (shared-nothing), che prevede che a ogni thread venga assegnato un gestore isolato con la propria porzione di dati, che opera senza mutex e spin-lock. Per garantire l'atomicit\u00e0 quando si lavora con pi\u00f9 chiavi, vengono utilizzati blocchi leggeri VLL. Per una memorizzazione efficace delle informazioni in memoria, si utilizza una struttura dashtable che implementa una variante delle hash table suddivise.      <\/p>\n<p>Tra le funzionalit\u00e0 disponibili nel primo rilascio si segnala il supporto per il protocollo RESP2 e 130 comandi Redis, che corrispondono approssimativamente alla funzionalit\u00e0 della versione Redis 2.8. Inoltre, Dragonfly supporta tutti i comandi memcached, escluso CAS (check-and-set), offre supporto per operazioni asincrone per la creazione di snapshot, garantisce un consumo di memoria prevedibile, fornisce un interprete integrato Lua 5.4 e supporta tipi di dati complessi come hash, insiemi e liste (ZSET, HSET, LIST, SETS e STRING).     <\/p>\n<p>\u00c8 disponibile in modo separato una modalit\u00e0 di caching, in cui le vecchie informazioni vengono automaticamente sostituite con nuove dopo l'esaurimento della memoria disponibile. \u00c8 possibile associare ai dati un tempo di vita, durante il quale le informazioni sono considerate valide. Lo stato del deposito pu\u00f2 essere registrato su disco in background per un successivo ripristino dopo il riavvio. Per la gestione del sistema \u00e8 disponibile una console HTTP (collegata alla porta TCP 6379) e un'API per l'erogazione delle metriche compatibile con Prometheus. Nelle versioni successive \u00e8 previsto di ampliare il supporto per i comandi Redis e implementare la possibilit\u00e0 di replica del deposito per garantire resilienza e bilanciamento del carico.<br \/>\n<br \/>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=57279\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u043f\u0435\u0440\u0432\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043a\u044d\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 Dragonfly, \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u044e\u0449\u0435\u0439 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u043e\u0432 Memcached \u0438 Redis, \u043d\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0435\u0439 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0441 \u0433\u043e\u0440\u0430\u0437\u0434\u043e \u0431\u043e\u043b\u0435\u0435 \u0432\u044b\u0441\u043e\u043a\u043e\u0439 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c\u044e \u0438 \u0441 \u043c\u0435\u043d\u044c\u0448\u0438\u043c \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u0435\u043d\u0438\u0435\u043c \u043f\u0430\u043c\u044f\u0442\u0438. \u0421\u0438\u0441\u0442\u0435\u043c\u0430 \u043c\u0430\u043d\u0438\u043f\u0443\u043b\u0438\u0440\u0443\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 \u043a\u043b\u044e\u0447\/\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0438 \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c\u0441\u044f \u043a\u0430\u043a \u043b\u0435\u0433\u043a\u043e\u0432\u0435\u0441\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0432\u044b\u0441\u043e\u043a\u043e\u043d\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u0445 \u0441\u0430\u0439\u0442\u043e\u0432, \u043a\u044d\u0448\u0438\u0440\u0443\u044e\u0449\u0438\u0435 \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u044b\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u043a \u0421\u0423\u0411\u0414 \u0438 \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":104196,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-104195","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u043f\u0435\u0440\u0432\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043a\u044d\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 Dragonfly, \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u044e\u0449\u0435\u0439 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u043e\u0432 Memcached \u0438 Redis, \u043d\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0435\u0439 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0441 \u0433\u043e\u0440\u0430\u0437\u0434\u043e \u0431\u043e\u043b\u0435\u0435 \u0432\u044b\u0441\u043e\u043a\u043e\u0439 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c\u044e \u0438.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/it\/blog\/news\/proekt-dragonfly-razvivaet-bolee-bystruyu-zamenu-redis-i-memcached\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041f\u0440\u043e\u0435\u043a\u0442 Dragonfly \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u0442 \u0431\u043e\u043b\u0435\u0435 \u0431\u044b\u0441\u0442\u0440\u0443\u044e \u0437\u0430\u043c\u0435\u043d\u0443 Redis \u0438 Memcached | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u043f\u0435\u0440\u0432\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043a\u044d\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 Dragonfly, \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u044e\u0449\u0435\u0439 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u043e\u0432 Memcached \u0438 Redis, \u043d\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0435\u0439 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0441 \u0433\u043e\u0440\u0430\u0437\u0434\u043e \u0431\u043e\u043b\u0435\u0435 \u0432\u044b\u0441\u043e\u043a\u043e\u0439 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c\u044e \u0438.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/news\/proekt-dragonfly-razvivaet-bolee-bystruyu-zamenu-redis-i-memcached\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2022-05-31T13:36:41+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2022-05-31T13:36:41+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Il progetto Dragonfly sviluppa una sostituzione pi\u00f9 rapida per Redis e Memcached | ProHoster","description":"\u00c8 disponibile il primo rilascio del sistema di caching dei dati in memoria Dragonfly, che offre supporto per i protocolli Memcached e Redis, consentendo per\u00f2 l'esecuzione di query con prestazioni significativamente superiori.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/news\/proekt-dragonfly-razvivaet-bolee-bystruyu-zamenu-redis-i-memcached","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041f\u0440\u043e\u0435\u043a\u0442 Dragonfly \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u0442 \u0431\u043e\u043b\u0435\u0435 \u0431\u044b\u0441\u0442\u0440\u0443\u044e \u0437\u0430\u043c\u0435\u043d\u0443 Redis \u0438 Memcached | ProHoster","og:description":"\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u043f\u0435\u0440\u0432\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043a\u044d\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 Dragonfly, \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u044e\u0449\u0435\u0439 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u043e\u0432 Memcached \u0438 Redis, \u043d\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0435\u0439 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0441 \u0433\u043e\u0440\u0430\u0437\u0434\u043e \u0431\u043e\u043b\u0435\u0435 \u0432\u044b\u0441\u043e\u043a\u043e\u0439 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c\u044e \u0438.","og:url":"https:\/\/prohoster.info\/it\/blog\/news\/proekt-dragonfly-razvivaet-bolee-bystruyu-zamenu-redis-i-memcached","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2022-05-31T13:36:41+00:00","article:modified_time":"2022-05-31T13:36:41+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"104195","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-25 11:24:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2022-05-31 13:36:49","updated":"2026-01-25 11:24:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/104195","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=104195"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/104195\/revisions"}],"predecessor-version":[{"id":172988,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/104195\/revisions\/172988"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media\/104196"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=104195"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=104195"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=104195"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}