{"id":114431,"date":"2024-03-19T18:25:44","date_gmt":"2024-03-19T16:25:47","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/microsoft-otkryl-kod-hranilishha-garnet-sovmestimogo-s-redis"},"modified":"2024-03-19T18:25:44","modified_gmt":"2024-03-19T16:25:47","slug":"microsoft-otkryl-kod-hranilishha-garnet-sovmestimogo-s-redis","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/novosti-interneta\/microsoft-otkryl-kod-hranilishha-garnet-sovmestimogo-s-redis","title":{"rendered":"Microsoft ha aperto il codice dello store Garnet, compatibile con Redis","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Microsoft ha reso disponibili i codici sorgente del sistema NoSQL Garnet, progettato per creare storage cache compatibile con le attuali librerie client per lo storage Redis. Garnet supporta la creazione di cluster scalabili per il caching dei dati, dove \u00e8 possibile utilizzare la replica, la migrazione delle chiavi e il partizionamento dei dati tra i nodi del cluster. Il progetto \u00e8 sviluppato in C# con un core di storage in C++, \u00e8 open source sotto licenza MIT e pu\u00f2 funzionare su tutte le piattaforme supportate da .NET (le piattaforme primarie dichiarate sono Linux e Windows).    <\/p>\n<p>Per la memorizzazione dei dati si utilizza il motore Tsavorite (un fork dello storage Microsoft FASTER), che supporta l'elaborazione multi-thread, le transazioni, la checkpointing non bloccante, il ripristino da guasti, la conservazione di copie ridondanti e la registrazione delle operazioni. Il gestore di rete in Garnet \u00e8 costruito utilizzando un'architettura di memoria condivisa proposta dal progetto di ricerca ShadowFax. L'elaborazione TLS e l'interazione con lo storage vengono eseguite in un unico thread, il che permette di evitare il sovraccarico dovuto allo switching dei thread e di utilizzare pi\u00f9 efficacemente la cache della CPU durante la trasmissione dei dati in rete.      <\/p>\n<p>L'architettura Garnet separa la logica di parsing e gestione delle richieste dalle operazioni di memorizzazione. I dati sono immagazzinati utilizzando due memorie in formato chiave-valore, implementate sulla base della libreria Tsavorite. Il primo 'principale' storage \u00e8 ottimizzato per l'esecuzione rapida delle operazioni su stringhe, mentre il secondo 'oggetto' storage \u00e8 ottimizzato per la memorizzazione di oggetti complessi e tipi di dati avanzati, come hash e liste. I tipi di dati nel secondo storage sono implementati utilizzando le librerie .NET. I dati sono memorizzati nell'heap (C# heap), il che consente aggiornamenti efficienti, e in forma serializzata su disco.      <center><img decoding=\"async\" alt=\"Microsoft ha aperto il codice dello store Garnet, compatibile con Redis \" src=\"\/wp-content\/uploads\/2024\/03\/0dfc0274c7f0f9a0bc6d38779e70a13b.png\" style=\"display:block;margin: 0 auto;\" \/><\/center>              <\/p>\n<p>Caratteristiche di Garnet:  <\/p>\n<ul>\n<li class=\"l\"> \u00c8 possibile implementare storage multi-livello che includono RAM, SSD e storage cloud, dove i dati meno richiesti vengono spostati in storage pi\u00f9 lenti per creare cache di dimensioni superiori alla RAM.\n<li class=\"l\"> Supporto estensibile per dispositivi, che consente la creazione di strati ottimizzati per diverse apparecchiature, ad esempio, ci sono strati per SSD, dischi rigidi e storage cloud Azure.\n<li class=\"l\"> Meccanismo efficace di riutilizzo della memoria liberata, che previene la frammentazione.\n<li class=\"l\"> Limiti configurabili sulle dimensioni della memoria utilizzata per gli indici, i log e la memorizzazione degli oggetti.\n<li class=\"l\"> Per accedere allo storage viene utilizzato il protocollo RESP, consentendo l'uso di Garnet con client Redis non modificati.\n<li class=\"l\"> Supporto per la memorizzazione di valori sia stringa che di strutture dati complesse, come liste, hash, insiemi, liste ordinate e dati di geolocalizzazione. Possibilit\u00e0 di definire il tempo di vita delle chiavi.\n<li class=\"l\"> Disponibilit\u00e0 di un'API per eseguire query analitiche (HLL\/Hyperloglog, Bitmap), transazioni (MULTI\/EXEC) e utilizzare la paradigma pubblicazione\/sottoscrizione.\n<li class=\"l\"> Strumenti per una gestione flessibile degli accessi tramite ACL.\n<li class=\"l\"> Possibilit\u00e0 di definire la configurazione in formato JSON o redis.conf.\n<li class=\"l\"> Supporto per il collegamento di gestori di rete aggiuntivi. Possibilit\u00e0 di crittografare il traffico utilizzando TLS (basato su SslStream).\n<li class=\"l\"> Possibilit\u00e0 di creare estensioni in linguaggio C# per implementare operazioni aggiuntive su stringhe e oggetti.\n<li class=\"l\"> Supporto per procedure memorizzate transazionali che coprono pi\u00f9 chiavi.\n<li class=\"l\"> Possibilit\u00e0 di ripristinare lo stato da una posizione salvata in precedenza (checkpoint-recovery). Presenza della modalit\u00e0 append-only (AOF, append-only file), in cui tutti i dati precedenti rimangono accessibili e non vengono sovrascritti.\n<li class=\"l\"> Supporto per la creazione di cluster di archiviazione con replica, sharding, migrazione dinamica delle chiavi tra nodi e ripristino di nodi guasti.\n<li class=\"l\"> Alta prestazione e bassa latenza nell'esecuzione delle richieste. Elaborazione efficace delle richieste a pacchetti di piccole dimensioni con un elevato numero di sessioni client, consentendo di raggiungere una capacit\u00e0 (numero di richieste elaborate al secondo) di un ordine superiore rispetto alle soluzioni concorrenti. In esecuzione nel <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/it\/vps\/abuzoustojchivye-vps\/\"   title=\"macchine virtuali\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"4244\">macchine virtuali<\/a> cloud di Azure, nella maggior parte dei casi la latenza di accesso del client non supera i 300 microsecondi. Nei test condotti, Garnet supera significativamente Redis, Dragonfly e KeyDB in termini di prestazioni e reattivit\u00e0. In alcuni test, Garnet supera i sistemi concorrenti di dieci volte.      <center><img decoding=\"async\" alt=\"Microsoft ha aperto il codice dello store Garnet, compatibile con Redis \" src=\"\/wp-content\/uploads\/2024\/03\/eac4512021ec4d8d2841708e66c56801.png\" style=\"display:block;margin: 0 auto;\" \/><\/center>  <center><img decoding=\"async\" alt=\"Microsoft ha aperto il codice dello store Garnet, compatibile con Redis \" src=\"\/wp-content\/uploads\/2024\/03\/c50a64571f4aa25aee8ab621b94cc023.png\" style=\"display:block;margin: 0 auto;\" \/><\/center>        <center><img decoding=\"async\" alt=\"Microsoft ha aperto il codice dello store Garnet, compatibile con Redis \" src=\"\/wp-content\/uploads\/2024\/03\/1c1e18d9c5286d5d1d523accd933f6cf.png\" style=\"display:block;margin: 0 auto;\" \/><\/center>    <center><img decoding=\"async\" alt=\"Microsoft ha aperto il codice dello store Garnet, compatibile con Redis \" src=\"\/wp-content\/uploads\/2024\/03\/16cc172596f09b1fc4c69ca3e5b14aa1.png\" style=\"display:block;margin: 0 auto;\" \/><\/center>            <\/ul>\n<p>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=60808\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Microsoft \u043e\u0442\u043a\u0440\u044b\u043b\u0430 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0435 \u0442\u0435\u043a\u0441\u0442\u044b NoSQL-\u0441\u0438\u0441\u0442\u0435\u043c\u044b Garnet, \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u0430\u043d\u043d\u043e\u0439 \u043d\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043a\u044d\u0448\u0438\u0440\u0443\u044e\u0449\u0438\u0445 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449 \u0438 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0439 \u0441 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u043c\u0438 \u043a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u0438\u043c\u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430\u043c\u0438 \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 Redis. Garnet \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u0443\u0435\u043c\u044b\u0445 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432 \u0434\u043b\u044f \u043a\u044d\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043c\u043e\u0436\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u044f, \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u044f \u043a\u043b\u044e\u0447\u0435\u0439 \u0438 \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u043c\u0435\u0436\u0434\u0443 \u0443\u0437\u043b\u0430\u043c\u0438 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430. \u041f\u0440\u043e\u0435\u043a\u0442 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 C# \u0441 \u044f\u0434\u0440\u043e\u043c \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043d\u0430 C++, \u043e\u0442\u043a\u0440\u044b\u0442 \u043f\u043e\u0434 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0435\u0439 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":114432,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-114431","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-novosti-interneta"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Microsoft \u043e\u0442\u043a\u0440\u044b\u043b\u0430 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0435 \u0442\u0435\u043a\u0441\u0442\u044b NoSQL-\u0441\u0438\u0441\u0442\u0435\u043c\u044b Garnet, \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u0430\u043d\u043d\u043e\u0439 \u043d\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043a\u044d\u0448\u0438\u0440\u0443\u044e\u0449\u0438\u0445 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449 \u0438 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0439 \u0441 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u043c\u0438 \u043a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u0438\u043c\u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430\u043c\u0438 \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 Redis. Garnet \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u0443\u0435\u043c\u044b\u0445 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432 \u0434\u043b\u044f \u043a\u044d\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043c\u043e\u0436\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u044f, \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u044f \u043a\u043b\u044e\u0447\u0435\u0439 \u0438 \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u043c\u0435\u0436\u0434\u0443 \u0443\u0437\u043b\u0430\u043c\u0438 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430. \u041f\u0440\u043e\u0435\u043a\u0442 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 C# \u0441 \u044f\u0434\u0440\u043e\u043c \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043d\u0430 C++, \u043e\u0442\u043a\u0440\u044b\u0442 \u043f\u043e\u0434 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0435\u0439\" \/>\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\/novosti-interneta\/microsoft-otkryl-kod-hranilishha-garnet-sovmestimogo-s-redis\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.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\udd47Microsoft \u043e\u0442\u043a\u0440\u044b\u043b \u043a\u043e\u0434 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 Garnet, \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0433\u043e \u0441 Redis | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Microsoft \u043e\u0442\u043a\u0440\u044b\u043b\u0430 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0435 \u0442\u0435\u043a\u0441\u0442\u044b NoSQL-\u0441\u0438\u0441\u0442\u0435\u043c\u044b Garnet, \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u0430\u043d\u043d\u043e\u0439 \u043d\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043a\u044d\u0448\u0438\u0440\u0443\u044e\u0449\u0438\u0445 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449 \u0438 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0439 \u0441 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u043c\u0438 \u043a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u0438\u043c\u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430\u043c\u0438 \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 Redis. Garnet \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u0443\u0435\u043c\u044b\u0445 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432 \u0434\u043b\u044f \u043a\u044d\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043c\u043e\u0436\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u044f, \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u044f \u043a\u043b\u044e\u0447\u0435\u0439 \u0438 \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u043c\u0435\u0436\u0434\u0443 \u0443\u0437\u043b\u0430\u043c\u0438 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430. \u041f\u0440\u043e\u0435\u043a\u0442 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 C# \u0441 \u044f\u0434\u0440\u043e\u043c \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043d\u0430 C++, \u043e\u0442\u043a\u0440\u044b\u0442 \u043f\u043e\u0434 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0435\u0439\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/novosti-interneta\/microsoft-otkryl-kod-hranilishha-garnet-sovmestimogo-s-redis\" \/>\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=\"2024-03-19T16:25:47+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2024-03-19T16:25:47+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\udd47Microsoft ha aperto il codice dell'archivio Garnet, compatibile con Redis | ProHoster","description":"Microsoft ha reso disponibili i codici sorgente del sistema NoSQL Garnet, progettato per la creazione di archivi di caching e compatibile con le librerie client esistenti per Redis. Garnet supporta la creazione di cluster scalabili per il caching dei dati, in cui \u00e8 possibile utilizzare la replica, la migrazione delle chiavi e la segmentazione dei dati tra i nodi del cluster. Il progetto \u00e8 scritto in C# con un core di storage in C++, ed \u00e8 rilasciato sotto licenza.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/novosti-interneta\/microsoft-otkryl-kod-hranilishha-garnet-sovmestimogo-s-redis","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\udd47Microsoft \u043e\u0442\u043a\u0440\u044b\u043b \u043a\u043e\u0434 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 Garnet, \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0433\u043e \u0441 Redis | ProHoster","og:description":"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Microsoft \u043e\u0442\u043a\u0440\u044b\u043b\u0430 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0435 \u0442\u0435\u043a\u0441\u0442\u044b NoSQL-\u0441\u0438\u0441\u0442\u0435\u043c\u044b Garnet, \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u0430\u043d\u043d\u043e\u0439 \u043d\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043a\u044d\u0448\u0438\u0440\u0443\u044e\u0449\u0438\u0445 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449 \u0438 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0439 \u0441 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u043c\u0438 \u043a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u0438\u043c\u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430\u043c\u0438 \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 Redis. Garnet \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u0443\u0435\u043c\u044b\u0445 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432 \u0434\u043b\u044f \u043a\u044d\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043c\u043e\u0436\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u044f, \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u044f \u043a\u043b\u044e\u0447\u0435\u0439 \u0438 \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u043c\u0435\u0436\u0434\u0443 \u0443\u0437\u043b\u0430\u043c\u0438 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430. \u041f\u0440\u043e\u0435\u043a\u0442 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 C# \u0441 \u044f\u0434\u0440\u043e\u043c \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043d\u0430 C++, \u043e\u0442\u043a\u0440\u044b\u0442 \u043f\u043e\u0434 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0435\u0439","og:url":"https:\/\/prohoster.info\/it\/blog\/novosti-interneta\/microsoft-otkryl-kod-hranilishha-garnet-sovmestimogo-s-redis","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":"2024-03-19T16:25:47+00:00","article:modified_time":"2024-03-19T16:25:47+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":[],"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/114431","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=114431"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/114431\/revisions"}],"predecessor-version":[{"id":164119,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/114431\/revisions\/164119"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media\/114432"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=114431"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=114431"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=114431"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}