{"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\/ro\/blog\/news\/microsoft-otkryl-kod-hranilishha-garnet-sovmestimogo-s-redis","title":{"rendered":"Microsoft a deschis codul depozitului Garnet, compatibil cu Redis","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Compania Microsoft a deschis codurile surs\u0103 ale sistemului NoSQL Garnet, destinat cre\u0103rii de stoc\u0103ri cache \u0219i compatibil cu libr\u0103riile client existente pentru stocarea Redis. Garnet suport\u0103 crearea de clustere scalabile pentru cache-ul de date, \u00een care pot fi utilizate replicarea, migrarea cheilor \u0219i segmentarea datelor \u00eentre nodurile clusterului. Proiectul este scris \u00een C# cu un nucleu de stocare \u00een C++, este deschis sub licen\u021ba MIT \u0219i poate func\u021biona pe toate platformele acceptate \u00een .NET (platformele primare declarate sunt Linux \u0219i Windows).    <\/p>\n<p>Pentru stocarea datelor se utilizeaz\u0103 motorul Tsavorite (fork al stoc\u0103rii Microsoft FASTER), care suport\u0103 procesarea multipl\u0103 a cererilor, tranzac\u021bii, fixarea modific\u0103rilor \u00een mod non-blocant (checkpointing), recuperarea \u00een caz de e\u0219ec, men\u021binerea copiilor redundante \u0219i \u00eenregistrarea opera\u021biunilor. Procesorul de re\u021bea din Garnet este construit folosind arhitectura de memorie partajat\u0103, propus\u0103 de proiectul de cercetare ShadowFax. Procesarea TLS \u0219i interac\u021biunea cu stocarea se desf\u0103\u0219oar\u0103 \u00eentr-un singur fir de execu\u021bie, ceea ce permite evitarea costurilor suplimentare pentru comutarea firelor \u0219i utilizarea mai eficient\u0103 a cache-ului CPU \u00een timpul transferului de date prin re\u021bea.      <\/p>\n<p>Arhitectura Garnet separ\u0103 logica de analiz\u0103 \u0219i procesare a cererilor de opera\u021biuni cu stocarea. Datele sunt stocate utiliz\u00e2nd dou\u0103 stoc\u0103ri \u00een format cheie-valoare, implementate pe baza bibliotecii Tsavorite. Prima stocare \u201eprincipal\u0103\u201d este optimizat\u0103 pentru execu\u021bia rapid\u0103 a opera\u021biunilor cu \u0219iruri, iar a doua stocare \u201eobiectual\u0103\u201d este optimizat\u0103 pentru plasarea obiectelor complexe \u0219i a tipurilor extinse de date, cum ar fi hash-urile \u0219i listele. Tipurile de date din a doua stocare sunt implementate cu ajutorul bibliotecilor .NET. Datele sunt stocate \u00een heap (C# heap), ceea ce permite actualiz\u0103ri eficiente, \u0219i \u00een format serializat pe disc.      <center><img decoding=\"async\" alt=\"Microsoft a deschis codul depozitului Garnet, compatibil cu Redis \" src=\"\/wp-content\/uploads\/2024\/03\/0dfc0274c7f0f9a0bc6d38779e70a13b.png\" style=\"display:block;margin: 0 auto;\" \/><\/center>              <\/p>\n<p>Caracteristicile Garnet:  <\/p>\n<ul>\n<li class=\"l\"> Este posibil\u0103 desf\u0103\u0219urarea de stoc\u0103ri multi-nivel, acoperind memorie RAM, SSD-uri \u0219i stoc\u0103ri \u00een cloud, \u00een care datele mai pu\u021bin solicitate sunt trimise \u00een stoc\u0103ri mai lente pentru a crea cache-uri mai mari dec\u00e2t memoria RAM.\n<li class=\"l\"> Suport extins pentru dispozitive, permi\u021b\u00e2nd crearea de straturi optimizate pentru diferite dispozitive, cum ar fi straturi pentru SSD, hard disk-uri \u0219i stocare \u00een cloud Azure Storage.\n<li class=\"l\"> Un mecanism eficient de reutilizare a spa\u021biului eliberat \u00een memoria operativ\u0103, prevenind fragmentarea.\n<li class=\"l\"> Limite configurabile pentru dimensiunea memoriei utilizate pentru indec\u0219i, jurnal \u0219i stocarea obiectelor.\n<li class=\"l\"> Pentru accesarea stoc\u0103rii se folose\u0219te protocolul RESP, permi\u021b\u00e2nd utilizarea Garnet cu clien\u021bi Redis nemodifica\u021bi.\n<li class=\"l\"> Suport pentru stocarea at\u00e2t a valorilor de tip string, c\u00e2t \u0219i a structurilor de date complexe, cum ar fi liste, hash-uri, seturi, liste ordonate \u0219i date de geolocalizare. Capacitatea de a defini timpul de via\u021b\u0103 al cheii.\n<li class=\"l\"> Disponibilitatea unei API pentru executarea interog\u0103rilor analitice (HLL\/Hyperloglog, Bitmap), tranzac\u021bii (MULTI\/EXEC) \u0219i utilizarea paradigmei publicare\/subscriere.\n<li class=\"l\"> Disponibilitatea unor instrumente pentru gestionarea flexibil\u0103 a accesului prin ACL.\n<li class=\"l\"> Posibilitatea de a defini configura\u021bia \u00een format JSON sau redis.conf.\n<li class=\"l\"> Suport pentru conectarea unor manipulatoare de re\u021bea suplimentare. Posibilitatea de criptare a traficului folosind TLS (pe baza SslStream).\n<li class=\"l\"> Posibilitatea de a crea extensii \u00een limbajul C#, implement\u00e2nd opera\u021bii adi\u021bionale cu string-uri \u0219i obiecte.\n<li class=\"l\"> Suport pentru proceduri stocate tranzac\u021bionale care acoper\u0103 mai multe chei.\n<li class=\"l\"> Posibilitatea de a restabili starea de la o pozi\u021bie salvat\u0103 anterior (checkpoint-recovery). Disponibilitatea unui mod de ad\u0103ugare unic\u0103 (AOF, append-only file), \u00een care toate datele vechi r\u0103m\u00e2n accesibile \u0219i nu sunt suprascrise.\n<li class=\"l\"> Suport pentru crearea unui cluster de stocare cu replicare, segmentare (Sharding), migrarea dinamic\u0103 a cheilor \u00eentre noduri \u0219i recuperarea nodurilor defecte.\n<li class=\"l\"> Performan\u021b\u0103 ridicat\u0103 \u0219i laten\u021be sc\u0103zute \u00een execu\u021bia interog\u0103rilor. Procesare eficient\u0103 a cererilor mici \u00een cadrul unui num\u0103r mare de sesiuni client, permi\u021b\u00e2nd o capacitate de procesare (num\u0103rul de cereri procesate pe secund\u0103) cu un ordin de m\u0103rime mai mare dec\u00e2t solu\u021biile concurente. <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/ro\/vps\/abuzoustojchivye-vps\/\"   title=\"virtu\u00e1lne ma\u0161ini\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"4244\">virtu\u00e1lne ma\u0161ini<\/a> \u00cen cloudul Azure, \u00een cele mai multe cazuri, \u00eent\u00e2rzierile acces\u0103rii clientului nu dep\u0103\u0219esc 300 de microsecunde. \u00cen testele efectuate, Garnet dep\u0103\u0219e\u0219te semnificativ Redis, Dragonfly \u0219i KeyDB \u00een termeni de performan\u021b\u0103 \u0219i reactivitate. \u00cen unele teste, Garnet dep\u0103\u0219e\u0219te sistemele concurente de zece ori.      <center><img decoding=\"async\" alt=\"Microsoft a deschis codul depozitului Garnet, compatibil cu Redis \" src=\"\/wp-content\/uploads\/2024\/03\/eac4512021ec4d8d2841708e66c56801.png\" style=\"display:block;margin: 0 auto;\" \/><\/center>  <center><img decoding=\"async\" alt=\"Microsoft a deschis codul depozitului Garnet, compatibil cu Redis \" src=\"\/wp-content\/uploads\/2024\/03\/c50a64571f4aa25aee8ab621b94cc023.png\" style=\"display:block;margin: 0 auto;\" \/><\/center>        <center><img decoding=\"async\" alt=\"Microsoft a deschis codul depozitului Garnet, compatibil cu Redis \" src=\"\/wp-content\/uploads\/2024\/03\/1c1e18d9c5286d5d1d523accd933f6cf.png\" style=\"display:block;margin: 0 auto;\" \/><\/center>    <center><img decoding=\"async\" alt=\"Microsoft a deschis codul depozitului Garnet, compatibil cu Redis \" src=\"\/wp-content\/uploads\/2024\/03\/16cc172596f09b1fc4c69ca3e5b14aa1.png\" style=\"display:block;margin: 0 auto;\" \/><\/center>            <\/ul>\n<p>Sursa: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=60808\">opennet.ro<\/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-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - 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.\" \/>\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\/ro\/blog\/news\/microsoft-otkryl-kod-hranilishha-garnet-sovmestimogo-s-redis\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\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.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/ro\/blog\/news\/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 a deschis codul stoc\u0103rii Garnet, compatibil cu Redis | ProHoster","description":"Compania Microsoft a deschis codul surs\u0103 al sistemului NoSQL Garnet, destinat cre\u0103rii de stoc\u0103ri cache \u0219i compatibil cu bibliotecile client existente pentru stocarea Redis.","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/news\/microsoft-otkryl-kod-hranilishha-garnet-sovmestimogo-s-redis","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","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.","og:url":"https:\/\/prohoster.info\/ro\/blog\/news\/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\/ro\/wp-json\/wp\/v2\/posts\/114431","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=114431"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/114431\/revisions"}],"predecessor-version":[{"id":164119,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/114431\/revisions\/164119"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media\/114432"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=114431"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=114431"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=114431"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}