{
    "componentChunkName": "component---src-templates-issues-tsx",
    "path": "/issues/344",
    "result": {"data":{"issuesJson":{"id":"912eff57-dfbc-586a-8ced-cfccb0ccd3c1","title":"apache/kvrocks: 一个分布式键值 NoSQL 数据库，使用 RocksDB 作为存储引擎，兼容 Redis 协议。","number":344,"bodyHTML":"<div align=\"center\" dir=\"auto\">\n<p dir=\"auto\"><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/a15b413168923d02e21292705ceaf86b92675f98e250c5c896a02ba7504a6eae/68747470733a2f2f63646e2e6a7364656c6976722e6e65742f67682f657279616a662f7475406d61696e2f696d672f696d6167655f32303234303432305f3231343430382e676966\"><img src=\"https://camo.githubusercontent.com/a15b413168923d02e21292705ceaf86b92675f98e250c5c896a02ba7504a6eae/68747470733a2f2f63646e2e6a7364656c6976722e6e65742f67682f657279616a662f7475406d61696e2f696d672f696d6167655f32303234303432305f3231343430382e676966\" width=\"100%\" height=\"3\" data-animated-image=\"\" data-canonical-src=\"https://cdn.jsdelivr.net/gh/eryajf/tu@main/img/image_20240420_214408.gif\" style=\"max-width: 100%; height: auto; max-height: 3px;\"></a><br><br></p>\n<markdown-accessiblity-table><table role=\"table\">\n<thead>\n<tr>\n<th align=\"right\">Repos</th>\n<th align=\"left\"><a href=\"https://github.com/apache/kvrocks\">apache/kvrocks</a></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td align=\"right\"><strong>Views</strong></td>\n<td align=\"left\"><a href=\"https://github.com/opsre/awesome-ops\"><img src=\"https://camo.githubusercontent.com/cdfd74bc4343ce806f888cff49b5272ca072cad6218e30b759a15a306aaa285b/68747470733a2f2f76696577732e77686174696c656172656e65642e746f6461792f76696577732f6769746875622f6170616368652f6b76726f636b732e737667\" alt=\"views\" data-canonical-src=\"https://views.whatilearened.today/views/github/apache/kvrocks.svg\" style=\"max-width: 100%;\"></a></td>\n</tr>\n<tr>\n<td align=\"right\"><strong>Stars</strong></td>\n<td align=\"left\"><a href=\"https://github.com/opsre/awesome-ops\"><img src=\"https://camo.githubusercontent.com/7c61b5585c8dd7cb5f8c3f6fa5ddedf6f40e4417ade41bc48bc20b60b121861a/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f6170616368652f6b76726f636b733f636f6c6f723d663266303864266c6f676f3d556e64657274616c65266c6f676f436f6c6f723d656234363330\" alt=\"stars\" data-canonical-src=\"https://img.shields.io/github/stars/apache/kvrocks?color=f2f08d&amp;logo=Undertale&amp;logoColor=eb4630\" style=\"max-width: 100%;\"></a></td>\n</tr>\n<tr>\n<td align=\"right\"><strong>Forks</strong></td>\n<td align=\"left\"><a href=\"https://github.com/opsre/awesome-ops\"><img src=\"https://camo.githubusercontent.com/a9b3ae7b17f58f1f25d44253a10e29211bfd03803fea0d12a1158595b7cadb16/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f666f726b732f6170616368652f6b76726f636b733f636f6c6f723d626138366562266c6f676f3d48616e647368616b65266c6f676f436f6c6f723d656136616136\" alt=\"forks\" data-canonical-src=\"https://img.shields.io/github/forks/apache/kvrocks?color=ba86eb&amp;logo=Handshake&amp;logoColor=ea6aa6\" style=\"max-width: 100%;\"></a></td>\n</tr>\n<tr>\n<td align=\"right\"><strong>License</strong></td>\n<td align=\"left\"><a href=\"https://github.com/opsre/awesome-ops\"><img src=\"https://camo.githubusercontent.com/8f56f8b0cf7003da0c8c4a2fac610c050f28ce47ffd2a89dfa8e487323c2451a/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6170616368652f6b76726f636b733f6c6f676f3d64617461253341696d616765253246706e672533426261736536342532436956424f5277304b47676f414141414e53556845556741414144414141414177434159414141425841766d48414141414358424957584d41414173544141414c457745416d70775941414144336b6c45515652346e4f335953557a5555426748384a726f57567255474a66456d3773584e63534446784d544c327069347348456778654e526f77586770455742445552522532424e414e4f4b4f4b36366f6f4b4a4742586545475263574163455646475152484677516d483525324630774861655748493944554455354c356b6e6568644f62377a66652532423139636e434a47495243516945596c514237594a4979474c38616f73756c565a36695246516a69474b6b7564576735614c6c704f70704e586e665071773555304459524a6d56786a4367464633424c755a476d416f5655694b4541726d583744375553677351706f72674761336748664b34483663754262435644334771683141352532424c6745253242467749656e514d306a6f446f66714c6f48564e7742796d384370546e416d327a51713073676478624964515a556c416b7150415a3664676a303541446f59526f6f66792532466f5869726f376b3551586a4c6f70677a4b69514e6c4c4461716f4967754577426a7a7150355066446a45394479495879493633464d547751464d43567271774e61763451666f52673538514625324266724d485172454b3844546f434d714e4179574e4866786d54526f4c4f726d5352566747744466714345715a4f4851727a6f34706243557341333431365169364551394b476a6345465267484f724f4b6e5536574162396247455459656b4b7843766a546167394534706a653534446b3551503862624d4859762532464333756541654a6b50304f4778422532424a70426e4172595238455951516e6f4e31414e4661426e5050356c385372736559514c303641646b30464a5938484f5761424d6c6541486a683068506f73497a6c6f3876304125324633345a694f6548726130714b52504d5653493774762532423932747725324676687855654252713456454c674d376642714b354770526d6f514c584e7075625475367a6f4e52706754386e5051627138347764253246494375767978694b4871694e41664933774d367549684271476b4c696977414f734b44714f68743749747239567938536a52424557667941627225324668523142667056514664484a42253246423268683778376a36517077435665655951326b72554235436c636a3641326d3067576a25324244306d4c34397a573563517943484c4e37726a6c6d6d6174457958582532464372547a412532466f51785a6b576c39474a5443566f25324279546a3837253242346769504b6376307149486f344156344430565a727251493334706e70524d36357875652532467a417265453425324654253246536f676c664542794d7369517441546c4c3352414a355948725378365a44665337307337754d486842705225324659423573305057366f455270316236253246667252684b3353444c35546965364f515548516c5133735644752532427a50636b397657453973747225324236496a533967486d5750616861444a25324277434b364e494242587348423948796b587378774470686c436d416476706c6162554a4e6e5a504239342532464e7436784f6538587a4562503257684d335741673147756236744825324233513150673337365239713475716c6e6f36676448476a444f5139306562303141484d3672596975554a314f713472344656756a35765239427a4d3957674e764f7977446869495951467667626366774166774d764863615067425041253246447948476a50624e394138616d6562636477416444354e6633373574787165774e5552656f797677424958594c645170576c6877465771745061435044334173467541535636717171496c62304a766b564331464c39576b4c55556c55574b337a585a4c46432532423125324642726f46746f364f7358497545594a5034447a7a5732594656316f4a614141414141456c46546b5375516d4343\" alt=\"license\" data-canonical-src=\"https://img.shields.io/github/license/apache/kvrocks?logo=data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAD3klEQVR4nO3YSUzUUBgH8JroWVrUGJfEm7sXNcSDFxMTL2pi4sHEgxeNRowXgpEWBDURR%2BNANOKOK66ooKJGBXeEGRcWAcEVFGQRHFwQmH5%2F0wHaeWHI9DUDU5L5knehdOb7zfe%2B19cnCJGIRCQiEYlQB7YJIyGL8aosulVZ6iRFQjiGKkudWg5aLlpOppNXnfPqw5U0DYRJmVxjCgFF3BLuZGmAoVUiKEArmX7D7USgsQporgGa3gHfK4H6cuBbCVD3Gqh1A5%2BLgE%2BFwIenQM0joDofqLoHVNwBym8CpTnAm2zQq0sgdxbIdQZUlAkqPAZ6dgj05ADoYRoofy%2FoXiro7k5QXjLopgzKiQNlLDaqoIguEwBjzqP5PfDjE9DyIXyI63FMTwQFMCVrqwNav4QfoRg58QF%2BfrMHQrEK8DToCMqNAyWNHfxmTRoLOrmSRVgGtDfqCEqZOHQrzo4pbCUsA3416Qi6EQ9KGjcEFRgHOrOKnU6WAb9bGETYekKxCvjTag9E4pje54Dk5QP8bbMHYv%2FC3ueAeJkP0OGxB%2BJpBnArYR8EYQQnoN1ANFaBnPP5l8SrseYQL06Adk0FJY8HOWaBMleAHjh0hPosIzlo8v0A%2F34ZiOeHra0qKRPMVSI7tv%2B92tw%2FvhxUeBRq4VELgM7fBqK5GpRmoQLXNpubTu6zoNRpgT8nPQbq84wd%2FICuvyxiKHqiNAfI3wM6uIhBqGkLiiwAOsKDqOht7Itr9Vy8SjRBEWfyAbr%2FhR1BfpVQFdHJB%2FB2hh7x7j6QpwCVeeYQ2krUB5Clcj6A2m0gWj%2BD0mL49zW5cQyCHLN7rjlmmatEyXX%2FCrTzA%2FoQxZkWl9GJTCVo%2ByTj87%2B4giPKcv0qIHo4AV4D0VZrrQI34pnpRM65xue%2FzAreE4%2FT%2FSoglfEByMsiQtATlL3RAJ5YHrSx6ZDfS70s7uMHhBpR%2FYB5s0PW6oERp1b6%2FfrRhK3SDL5Tie6OQUHQlQ3sVDu%2BzPck9vWE9str%2B6IjS9gHmWPahaDJ%2BwCK6NIBBXsHB9HykXsxwDphlCmAdvplabUJNnZPB94%2FNt6xOe8XzEbP2WhM3WAg1Gub6tH%2B3Q1Pg376R9q4uqlno6gdHGjDOQ90eb01AHM6rYiuUJ1Oq4r4FVuj5vR9BzM9WgNvOywDhiIYQFvgbcfwAfwMvHcaPgBPA%2FDyHGjPbN9A8amebcdwAdD5Nf375txqewNUReoyvwBIXYLdQpWlhwFWqtPaCPD3AsFuASV6qqqIlb0JvkVC1FL9WkLUUlUWK3zXZLFC%2B1%2FBroFto6OsXIuEYJP4DzzW2YFV1oJaAAAAAElFTkSuQmCC\" style=\"max-width: 100%;\"></a></td>\n</tr>\n<tr>\n<td align=\"right\"><strong>UpdatedAt</strong></td>\n<td align=\"left\"><a href=\"https://github.com/opsre/awesome-ops\"><img src=\"https://camo.githubusercontent.com/1e44205d13239d331e1509779edacce43cb224148ad5d34ada76b907e11ff818/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6173742d636f6d6d69742f6170616368652f6b76726f636b733f646973706c61795f74696d657374616d703d636f6d6d6974746572266c6f676f3d64617461253341696d616765253246706e672533426261736536342532436956424f5277304b47676f414141414e5355684555674141414234414141416543415941414141374d4b3669414141414358424957584d41414173544141414c457745416d7077594141414648556c45515652346e4c5658375539615678776d3236646c582532466468627825324232253246516e626b7655627264554151674a4a496655444e574454546d4f76314651554661504a346b7573725630314a7431734e70637453327533626f745a746d786439744a5346536f714b71494635625944464c436f76436c656673747a4a387758524c445a4c7a6e6b634f343535376e3364332532466e655a3472454f515a74315771462532423858467234253242664f4c4565326a6f59307a776638546f795a50766a45676b4c592532426b306d6d72584f36644b696e787a476b30666a5430782532425279723055716e6359637a4d317263347451253242497270324c4758646f344e4334567657715453373277716c632532427231334f527269364b6458646e624f484c6c776c7a4a70524b6e3657342532424b36706f4f434e6e494166486a253246253242776168495a4234764b6e715a6630714a704e49716c2532467638545530634e6c3572627963337730516e54703379324c54614a374d314e617844723266526e315370504736476961323174664533345463614f617931694d55564f5146624659714957536f31573854694156616e43306576584f4542375770313448466232327a453566714c4f433545524c515769644e614e49347545636339693768634a6c644868324e57725135674464624f6c7061756d49754c62326174415144506e7a3062384e6257636d785656524a33486d7870536377777a4f4a6d4b44524765384c6c435a444c4739673754496e5631516c376462586256316533675430574b697243466f6d6b5079767758466c5a474a4f6a563625324253743634757564445a4f55354555636f782532464d455144567674364d62634e3237593341797a687633737061557242365a3971724a534f3139657a6a387032704c426b4a792532426343484a7857493567573574636652527a31645531394766476b6f7539505a4f34736d52396a4746777065783444793362766e6d4b79706f74625531335669646a71595a68726a343972764d457425324625324659714c7a396430304e6a57253246637a67796f394f35317a7336614e6c6f354644747530445a675146686c47584a30644241446f4e6864367576703657686f617967374e394c564748386d443462253246486e667455516f4e4734764c51306769784d716c5725324234714f6a744e48446733723166365969525347785279375576714c62395534716b716e78504f4e7661356c447048723125324279794b524e4b57425a793565644d554842326d3572792532422532424551772532427a6766347a6f39253246306f634e3357527a4c4277344a2532424a7950574372716d4967475974554f735744346f785a46516f50556a4770564871493425324661666b51504336665a5165654d31253242764c7549516e6a754257514444437363726d485039656f4e5041744271664f6e5875614b25324268364a45624772732532427076764d6d78654962683836336162565065597953456f39464a48704e4d464a59253242503563575a6b6667374f3174537759436553514c54593345385130392532464256504a556c78516a7368543142736343593032723955445542667643484236367063665041336c794165336e6772332532463437584467614a7a736c7937787741364e5a746c555550437541487161536a5549502532427375653842525741432532464e6651374a5a505a35397330476a3756747049537a34685125324243706658474d4b685a63764c70554b7866574d386f68766637702532464f446a4842666356463849736b383267314648796b63564645253242555a414158343761452532464d6c34504f3530506e75683025324678346e6d637957507364774468427836436d6b4c562532466746446a594b784f4a4f4674623077517949684c39527943774b33414f664947703159464542686e4d4a634c525745624b644b516f55366e63545a6b494544696341792532463831645675454d3552775066657934784f7830496b25324649324e6e466b692532425761664f6f464959466367595a43797864376543556a626334416d46363566742532466b4d686b336f25324235686337734d4a79716a4a45477659466151464972375930775077384246415925324236253242766d6b3377367a7a5275444d6d5a5652736668385274413075455453443775434254364459514e36697665553066706b594c6a453671725672744f78654e4b553954484c5a4a396b4255324a427342685635416976422532466f4b61514e4b675043427744596149665a4334616454684f71463457454e56694c4a77566f586f62664c424b56773637414f6154734c6336355461564b32317651344c613939654b6359673576627873624f627a5451394e37554b4467554f3177446a6944494942736868357a746733396e514d4c535a4248344f7a424f55444551586d323036643366634c67737762585141345068634b336e6873775531427a3877765130395248472532466f597933656a6677424e6d746f59714c4130586741414141424a52553545726b4a676767253344253344266c6162656c3d557064617465644174\" alt=\"last-commit\" data-canonical-src=\"https://img.shields.io/github/last-commit/apache/kvrocks?display_timestamp=committer&amp;logo=data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFHUlEQVR4nLVX7U9aVxwm26dlX%2Fdhbx%2B2%2FQnbkvUbrdUAQgJJIfUDNWDTTmOv1FQUFaPJ4kusrV01Jt1sNpctS2u3botZtmxd9tJSFSoqKqIF5bYDFLCovClefstzJ8wXRLDZLznkcO4557n3d3%2FneZ4rEOQZt1WqF%2B8XFr4%2BfOLEe2joY0zwf8ToyZPvjEgkLY%2Bk0mmrXO6dKinxzGk0fjT0x%2BRyr0UqncYczM1rc4tQ%2BIrp2LGXdo4NC4VvWqTS72wqlc%2Br13ORri6KdXdnbOHLlwlzJpRKn6W4%2BK6poOCNnIAfHj%2F%2BwahIZB4vKnqZf0qJpNIql%2Fv8TU0cNl5rbyc3w0QnTp3y2LTaJ7M1NaxDr2fRn1SpPG6Gia21tfE34TcaOay1iMUVOQFbFYqIWSo1W8TiAVanC0evXOEB7Wp14HFb22zE5fqLOC5ERLQWidNaNI4uEcc9i7hcJldHh2NWrQ5gDdbOlpaumIuLb2atAQDPnz0b8NbWcmxVVRJ3HmxpScwwzOJmKDRGe8LlCZDLG9g7TInV1Ql7dbXbV1e3gT0WKirCFomkPyvwXFlZGJOjV6%2BSt64uudDZOU5EUcox%2FMEQDVvt6MbcN27Y3Ayzhv3spaUrB6Z9qrJSO19ezj8p2pLBkJy%2BcCHJxWI5gW5tcfRRz1dU19GfGkou9PZO4smR9jGFwpex4Dy3bvnmKypotbU13VidjqYZhrj49rvMEt%2F%2FYqLz9d00NjW%2Fczgyo9O51zs6aNlo5FDtu0DZgQFhlGXJ0dBADoNhd6uvp6Whoayg7N9LVGH8mD4b%2FHnftUQoNG4vLQ0gixMqlW%2B4qOjtNHDg3r1f6YiRSGxRy7UvqLb9U4qkqnxPONva5lDpHr1%2ByyKRNKWBZy5edMUHB2m5ry%2B%2BEQw%2Bzgf4zo9%2F0ocN3WRzLBw4J%2BJyPWCrqmIgGYtUOsWD4oxZFQoPUjGpVHqI4%2FafkQPC6fZQeeM1%2BvLuIQnjuBWQDDCscrmHP9eoNPAtBqfOnXuaK%2Bh6JEbGrs%2BpvvMmxeIbh863abVPeYySEo9FJHpNMFJY%2BP5cWZkfg7O1tSwYCeSQLTY3E8Q09%2FBVPJUlxQjshT1BscCY02r9UDUBfvCHB66pcfPA3lyAe3ngr3%2F47XDgaJzsly7xwA6NZtlUUPCuAHqaSjUIP%2Bsue8BRWAC%2FNfQ7JZPZ59s0Gj7VtpISz4hQ%2BCpfXGMKhZcvLpUKxfWM8ohvf7p%2FODjHBfcVF8Isk82g1FHykcVFE%2BUZAAX47aE%2FMl4PO50Pnuh0%2Fx4nmcyWPsdwDhBx6CmkLV%2FgFDjYKxOJOFtb0wQyIhL9RyCwK3AOfIGp1YFEBhnMJcLRWEbKdKQoU6ncTZkIEDicAy%2F81dVuEM5RwPfey4xOx0Ik%2FI2NnFki%2BWafOoFIYFcgYZCyxd7eCUjbc4AmF65ft%2FkMhk3o%2B5hc7sMJyqjJEGvYFaQFIr7Y0wPw8BFAY%2B6%2Bvmk3w6zzRuDMmZVRsfh8RtA0uETSD7uCBT6DYQN6iveU0fpkYLjE6qrVrtOxeNKU9THLZJ9kBU2JBsBhV5AivB%2FoKaQNKgPCBwDYaIfZC4adThOqF4WENViLJwVoXobfLBKVw67AOaTsLc65TaVK21vQ4La99eKcYg5vbxsbObzTQ9N7UKDgUO1wDjiDIIBshh5ztg39nQMLSZBH4OzBOUDEQXm206d3fcLgswbXQA4PhcK3nhswU1Bz8wvQ09RHG%2FoYy3ejfwBNmtoYqLA0XgAAAABJRU5ErkJggg%3D%3D&amp;label=UpdatedAt\" style=\"max-width: 100%;\"></a></td>\n</tr>\n<tr>\n<td align=\"right\"><strong>CreatedAt</strong></td>\n<td align=\"left\"><a href=\"https://github.com/opsre/awesome-ops\"><img src=\"https://camo.githubusercontent.com/74c030f156ed759e154dff564a1eaab17f88fd775e2d5f09c92b25e59966c6da/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f637265617465642d61742f6170616368652f6b76726f636b733f6c6f676f3d64617461253341696d616765253246706e672533426261736536342532436956424f5277304b47676f414141414e5355684555674141414234414141416543415941414141374d4b3669414141414358424957584d41414173544141414c457745416d7077594141414648556c45515652346e4c5658375539615678776d3236646c582532466468627825324232253246516e626b7655627264554151674a4a496655444e574454546d4f76314651554661504a346b7573725630314a7431734e70637453327533626f745a746d786439744a5346536f714b71494635625944464c436f76436c656673747a4a387758524c445a4c7a6e6b634f343535376e3364332532466e655a3472454f515a74315771462532423858467234253242664f4c4565326a6f59307a776638546f795a50766a45676b4c592532426b306d6d72584f36644b696e787a476b30666a5430782532425279723055716e6359637a4d317263347451253242497270324c4758646f344e4334567657715453373277716c632532427231334f527269364b6458646e624f484c6c776c7a4a70524b6e3657342532424b36706f4f434e6e494166486a253246253242776168495a4234764b6e715a6630714a704e49716c2532467638545530634e6c3572627963337730516e54703379324c54614a374d314e617844723266526e315370504736476961323174664533345463614f617931694d55564f5146624659714957536f31573854694156616e43306576584f4542375770313448466232327a453566714c4f433545524c515769644e614e49347545636339693768634a6c644868324e57725135674464624f6c7061756d49754c62326174415144506e7a3062384e6257636d785656524a33486d7870536377777a4f4a6d4b44524765384c6c435a444c4739673754496e5631516c376462586256316533675430574b697243466f6d6b5079767758466c5a474a4f6a563625324253743634757564445a4f55354555636f782532464d455144567674364d62634e3237593341797a687633737061557242365a3971724a534f3139657a6a387032704c426b4a792532426343484a7857493567573574636652527a31645531394766476b6f7539505a4f34736d52396a4746777065783444793362766e6d4b79706f74625531335669646a71595a68726a343972764d457425324625324659714c7a396430304e6a57253246637a67796f394f35317a7336614e6c6f354644747530445a675146686c47584a30644241446f4e6864367576703657686f617967374e394c564748386d443462253246486e667455516f4e4734764c51306769784d716c5725324234714f6a744e48446733723166365969525347785279375576714c62395534716b716e78504f4e7661356c447048723125324279794b524e4b57425a793565644d554842326d3572792532422532424551772532427a6766347a6f39253246306f634e3357527a4c4277344a2532424a7950574372716d4967475974554f735744346f785a46516f50556a4770564871493425324661666b51504336665a5165654d31253242764c7549516e6a754257514444437363726d485039656f4e5041744271664f6e5875614b25324268364a45624772732532427076764d6d78654962683836336162565065597953456f39464a48704e4d464a59253242503563575a6b6667374f3174537759436553514c54593345385130392532464256504a556c78516a7368543142736343593032723955445542667643484236367063665041336c794165336e6772332532463437584467614a7a736c7937787741364e5a746c555550437541487161536a5549502532427375653842525741432532464e6651374a5a505a35397330476a3756747049537a34685125324243706658474d4b685a63764c70554b7866574d386f68766637702532464f446a4842666356463849736b383267314648796b63564645253242555a414158343761452532464d6c34504f3530506e75683025324678346e6d637957507364774468427836436d6b4c562532466746446a594b784f4a4f4674623077517949684c39527943774b33414f664947703159464542686e4d4a634c525745624b644b516f55366e63545a6b494544696341792532463831645675454d3552775066657934784f7830496b25324649324e6e466b692532425761664f6f464959466367595a43797864376543556a626334416d46363566742532466b4d686b336f25324235686337734d4a79716a4a45477659466151464972375930775077384246415925324236253242766d6b3377367a7a5275444d6d5a5652736668385274413075455453443775434254364459514e36697665553066706b594c6a453671725672744f78654e4b553954484c5a4a396b4255324a427342685635416976422532466f4b61514e4b675043427744596149665a4334616454684f71463457454e56694c4a77566f586f62664c424b56773637414f6154734c6336355461564b32317651344c613939654b6359673576627873624f627a5451394e37554b4467554f3177446a6944494942736868357a746733396e514d4c535a4248344f7a424f55444551586d323036643366634c67737762585141345068634b336e6873775531427a3877765130395248472532466f597933656a6677424e6d746f59714c4130586741414141424a52553545726b4a676767253344253344266c6162656c3d437265617465644174\" alt=\"create-at\" data-canonical-src=\"https://img.shields.io/github/created-at/apache/kvrocks?logo=data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFHUlEQVR4nLVX7U9aVxwm26dlX%2Fdhbx%2B2%2FQnbkvUbrdUAQgJJIfUDNWDTTmOv1FQUFaPJ4kusrV01Jt1sNpctS2u3botZtmxd9tJSFSoqKqIF5bYDFLCovClefstzJ8wXRLDZLznkcO4557n3d3%2FneZ4rEOQZt1WqF%2B8XFr4%2BfOLEe2joY0zwf8ToyZPvjEgkLY%2Bk0mmrXO6dKinxzGk0fjT0x%2BRyr0UqncYczM1rc4tQ%2BIrp2LGXdo4NC4VvWqTS72wqlc%2Br13ORri6KdXdnbOHLlwlzJpRKn6W4%2BK6poOCNnIAfHj%2F%2BwahIZB4vKnqZf0qJpNIql%2Fv8TU0cNl5rbyc3w0QnTp3y2LTaJ7M1NaxDr2fRn1SpPG6Gia21tfE34TcaOay1iMUVOQFbFYqIWSo1W8TiAVanC0evXOEB7Wp14HFb22zE5fqLOC5ERLQWidNaNI4uEcc9i7hcJldHh2NWrQ5gDdbOlpaumIuLb2atAQDPnz0b8NbWcmxVVRJ3HmxpScwwzOJmKDRGe8LlCZDLG9g7TInV1Ql7dbXbV1e3gT0WKirCFomkPyvwXFlZGJOjV6%2BSt64uudDZOU5EUcox%2FMEQDVvt6MbcN27Y3Ayzhv3spaUrB6Z9qrJSO19ezj8p2pLBkJy%2BcCHJxWI5gW5tcfRRz1dU19GfGkou9PZO4smR9jGFwpex4Dy3bvnmKypotbU13VidjqYZhrj49rvMEt%2F%2FYqLz9d00NjW%2Fczgyo9O51zs6aNlo5FDtu0DZgQFhlGXJ0dBADoNhd6uvp6Whoayg7N9LVGH8mD4b%2FHnftUQoNG4vLQ0gixMqlW%2B4qOjtNHDg3r1f6YiRSGxRy7UvqLb9U4qkqnxPONva5lDpHr1%2ByyKRNKWBZy5edMUHB2m5ry%2B%2BEQw%2Bzgf4zo9%2F0ocN3WRzLBw4J%2BJyPWCrqmIgGYtUOsWD4oxZFQoPUjGpVHqI4%2FafkQPC6fZQeeM1%2BvLuIQnjuBWQDDCscrmHP9eoNPAtBqfOnXuaK%2Bh6JEbGrs%2BpvvMmxeIbh863abVPeYySEo9FJHpNMFJY%2BP5cWZkfg7O1tSwYCeSQLTY3E8Q09%2FBVPJUlxQjshT1BscCY02r9UDUBfvCHB66pcfPA3lyAe3ngr3%2F47XDgaJzsly7xwA6NZtlUUPCuAHqaSjUIP%2Bsue8BRWAC%2FNfQ7JZPZ59s0Gj7VtpISz4hQ%2BCpfXGMKhZcvLpUKxfWM8ohvf7p%2FODjHBfcVF8Isk82g1FHykcVFE%2BUZAAX47aE%2FMl4PO50Pnuh0%2Fx4nmcyWPsdwDhBx6CmkLV%2FgFDjYKxOJOFtb0wQyIhL9RyCwK3AOfIGp1YFEBhnMJcLRWEbKdKQoU6ncTZkIEDicAy%2F81dVuEM5RwPfey4xOx0Ik%2FI2NnFki%2BWafOoFIYFcgYZCyxd7eCUjbc4AmF65ft%2FkMhk3o%2B5hc7sMJyqjJEGvYFaQFIr7Y0wPw8BFAY%2B6%2Bvmk3w6zzRuDMmZVRsfh8RtA0uETSD7uCBT6DYQN6iveU0fpkYLjE6qrVrtOxeNKU9THLZJ9kBU2JBsBhV5AivB%2FoKaQNKgPCBwDYaIfZC4adThOqF4WENViLJwVoXobfLBKVw67AOaTsLc65TaVK21vQ4La99eKcYg5vbxsbObzTQ9N7UKDgUO1wDjiDIIBshh5ztg39nQMLSZBH4OzBOUDEQXm206d3fcLgswbXQA4PhcK3nhswU1Bz8wvQ09RHG%2FoYy3ejfwBNmtoYqLA0XgAAAABJRU5ErkJggg%3D%3D&amp;label=CreatedAt\" style=\"max-width: 100%;\"></a></td>\n</tr>\n</tbody>\n</table></markdown-accessiblity-table>\n<a href=\"https://github.com/opsre/awesome-ops\">\n</a><p dir=\"auto\"><a href=\"https://github.com/opsre/awesome-ops\"><img src=\"https://camo.githubusercontent.com/b964a36ea4078c39f603d46a29436371c7541a2f26e0228d7b21b9d9805b43d3/68747470733a2f2f736f6369616c6966792e6769742e63692f6f707372652f617765736f6d652d6f70732f696d6167653f6465736372697074696f6e3d3126666f6e743d42697474657226666f726b733d31266973737565733d31266c616e67756167653d31266c6f676f3d6874747073253341253246253246617661746172732e67697468756275736572636f6e74656e742e636f6d25324675253246313838353638303230266e616d653d31266f776e65723d31267061747465726e3d436972637569742b426f6172642670756c6c733d31267374617267617a6572733d31267468656d653d4c69676874\" alt=\"\" data-canonical-src=\"https://socialify.git.ci/opsre/awesome-ops/image?description=1&amp;font=Bitter&amp;forks=1&amp;issues=1&amp;language=1&amp;logo=https%3A%2F%2Favatars.githubusercontent.com%2Fu%2F188568020&amp;name=1&amp;owner=1&amp;pattern=Circuit+Board&amp;pulls=1&amp;stargazers=1&amp;theme=Light\" style=\"max-width: 100%;\"></a></p>\n<a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/a15b413168923d02e21292705ceaf86b92675f98e250c5c896a02ba7504a6eae/68747470733a2f2f63646e2e6a7364656c6976722e6e65742f67682f657279616a662f7475406d61696e2f696d672f696d6167655f32303234303432305f3231343430382e676966\"><img src=\"https://camo.githubusercontent.com/a15b413168923d02e21292705ceaf86b92675f98e250c5c896a02ba7504a6eae/68747470733a2f2f63646e2e6a7364656c6976722e6e65742f67682f657279616a662f7475406d61696e2f696d672f696d6167655f32303234303432305f3231343430382e676966\" width=\"100%\" height=\"3\" data-animated-image=\"\" data-canonical-src=\"https://cdn.jsdelivr.net/gh/eryajf/tu@main/img/image_20240420_214408.gif\" style=\"max-width: 100%; height: auto; max-height: 3px;\"></a>\n</div>\n\n<p dir=\"auto\"><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bd5767481d130aafec498325faef3f5a2123ed947d4e7d06ce2667b71c8db162/68747470733a2f2f6b76726f636b732e6170616368652e6f72672f696d672f6b76726f636b732d66656174757265642e706e67\"><img src=\"https://camo.githubusercontent.com/bd5767481d130aafec498325faef3f5a2123ed947d4e7d06ce2667b71c8db162/68747470733a2f2f6b76726f636b732e6170616368652e6f72672f696d672f6b76726f636b732d66656174757265642e706e67\" alt=\"kvrocks_logo\" width=\"350\" data-canonical-src=\"https://kvrocks.apache.org/img/kvrocks-featured.png\" style=\"max-width: 100%;\"></a></p>\n<p dir=\"auto\"><a href=\"https://github.com/apache/kvrocks/actions/workflows/kvrocks.yaml\"><img src=\"https://github.com/apache/kvrocks/actions/workflows/kvrocks.yaml/badge.svg?branch=unstable\" alt=\"CI\" style=\"max-width: 100%;\"></a><br>\n<a href=\"https://github.com/apache/kvrocks/blob/unstable/LICENSE\"><img src=\"https://camo.githubusercontent.com/4316820ec12fa5e6b330d0c1cda29453061995cb4de952c58f5cec3b52edea32/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6170616368652f6b76726f636b73\" alt=\"License\" data-canonical-src=\"https://img.shields.io/github/license/apache/kvrocks\" style=\"max-width: 100%;\"></a><br>\n<a href=\"https://github.com/apache/kvrocks/stargazers\"><img src=\"https://camo.githubusercontent.com/9ef00acd95391d90c469fef5b8d73981b6676aecc8f92a9638821657779e6ac3/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f6170616368652f6b76726f636b73\" alt=\"GitHub stars\" data-canonical-src=\"https://img.shields.io/github/stars/apache/kvrocks\" style=\"max-width: 100%;\"></a></p>\n<hr>\n<ul dir=\"auto\">\n<li><a href=\"https://kvrocks.zulipchat.com/\" rel=\"nofollow\">Chat on Zulip</a></li>\n<li><a href=\"https://lists.apache.org/list.html?dev@kvrocks.apache.org\" rel=\"nofollow\">Mailing List</a> (<a href=\"https://www.apache.org/foundation/mailinglists.html#subscribing\" rel=\"nofollow\">how to subscribe</a>)</li>\n</ul>\n<p dir=\"auto\"><strong>Apache Kvrocks</strong> is a distributed key value NoSQL database that uses RocksDB as storage engine and is compatible with Redis protocol. Kvrocks intends to decrease the cost of memory and increase the capacity while compared to Redis. The design of replication and storage was inspired by <a href=\"https://github.com/pinterest/rocksplicator\">rocksplicator</a> and <a href=\"https://github.com/Qihoo360/blackwidow\">blackwidow</a>.</p>\n<p dir=\"auto\">Kvrocks has the following key features:</p>\n<ul dir=\"auto\">\n<li>Redis Compatible: Users can access Apache Kvrocks via any Redis client.</li>\n<li>Namespace: Similar to Redis SELECT but equipped with token per namespace.</li>\n<li>Replication: Async replication using binlog like MySQL.</li>\n<li>High Availability: Support Redis sentinel to failover when master or slave was failed.</li>\n<li>Cluster: Centralized management but accessible via any Redis cluster client.</li>\n</ul>\n<h2 dir=\"auto\">Who uses Kvrocks</h2>\n<p dir=\"auto\">You can find Kvrocks users at <a href=\"https://kvrocks.apache.org/users/\" rel=\"nofollow\">the Users page</a>.</p>\n<p dir=\"auto\">Users are encouraged to add themselves to the Users page. Either leave a comment on the <a href=\"https://github.com/apache/kvrocks/issues/414\" data-hovercard-type=\"issue\" data-hovercard-url=\"/apache/kvrocks/issues/414/hovercard\">\"Who is using Kvrocks\"</a> issue, or directly send a pull request to add company or organization <a href=\"https://github.com/apache/kvrocks-website/blob/main/src/components/UserLogos/index.tsx\">information</a> and <a href=\"https://github.com/apache/kvrocks-website/tree/main/static/media/users\">logo</a>.</p>\n<h2 dir=\"auto\">Build and run Kvrocks</h2>\n<h3 dir=\"auto\">Prerequisite</h3>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"# Ubuntu / Debian\nsudo apt update\nsudo apt install -y git build-essential cmake libtool python3 libssl-dev\n\n# CentOS / RedHat\nsudo yum install -y centos-release-scl-rh\nsudo yum install -y git devtoolset-11 autoconf automake libtool libstdc++-static python3 openssl-devel\n# download and install cmake via https://cmake.org/download\nwget https://github.com/Kitware/CMake/releases/download/v3.26.4/cmake-3.26.4-linux-x86_64.sh -O cmake.sh\nsudo bash cmake.sh --skip-license --prefix=/usr\n# enable gcc and make in devtoolset-11\nsource /opt/rh/devtoolset-11/enable\n\n# openSUSE / SUSE Linux Enterprise\nsudo zypper install -y gcc11 gcc11-c++ make wget git autoconf automake python3 curl cmake\n\n# Arch Linux\nsudo pacman -Sy --noconfirm autoconf automake python3 git wget which cmake make gcc\n\n# macOS\nbrew install git cmake autoconf automake libtool openssl\n# please link openssl by force if it still cannot be found after installing\nbrew link --force openssl\"><pre class=\"notranslate\"><span class=\"pl-c\"><span class=\"pl-c\">#</span> Ubuntu / Debian</span>\nsudo apt update\nsudo apt install -y git build-essential cmake libtool python3 libssl-dev\n\n<span class=\"pl-c\"><span class=\"pl-c\">#</span> CentOS / RedHat</span>\nsudo yum install -y centos-release-scl-rh\nsudo yum install -y git devtoolset-11 autoconf automake libtool libstdc++-static python3 openssl-devel\n<span class=\"pl-c\"><span class=\"pl-c\">#</span> download and install cmake via https://cmake.org/download</span>\nwget https://github.com/Kitware/CMake/releases/download/v3.26.4/cmake-3.26.4-linux-x86_64.sh -O cmake.sh\nsudo bash cmake.sh --skip-license --prefix=/usr\n<span class=\"pl-c\"><span class=\"pl-c\">#</span> enable gcc and make in devtoolset-11</span>\n<span class=\"pl-c1\">source</span> /opt/rh/devtoolset-11/enable\n\n<span class=\"pl-c\"><span class=\"pl-c\">#</span> openSUSE / SUSE Linux Enterprise</span>\nsudo zypper install -y gcc11 gcc11-c++ make wget git autoconf automake python3 curl cmake\n\n<span class=\"pl-c\"><span class=\"pl-c\">#</span> Arch Linux</span>\nsudo pacman -Sy --noconfirm autoconf automake python3 git wget which cmake make gcc\n\n<span class=\"pl-c\"><span class=\"pl-c\">#</span> macOS</span>\nbrew install git cmake autoconf automake libtool openssl\n<span class=\"pl-c\"><span class=\"pl-c\">#</span> please link openssl by force if it still cannot be found after installing</span>\nbrew link --force openssl</pre></div>\n<h3 dir=\"auto\">Build</h3>\n<p dir=\"auto\">It is as simple as:</p>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"$ git clone https://github.com/apache/kvrocks.git\n$ cd kvrocks\n$ ./x.py build # `./x.py build -h` to check more options;\n               # especially, `./x.py build --ghproxy` will fetch dependencies via ghproxy.com.\"><pre class=\"notranslate\">$ git clone https://github.com/apache/kvrocks.git\n$ <span class=\"pl-c1\">cd</span> kvrocks\n$ ./x.py build <span class=\"pl-c\"><span class=\"pl-c\">#</span> `./x.py build -h` to check more options;</span>\n               <span class=\"pl-c\"><span class=\"pl-c\">#</span> especially, `./x.py build --ghproxy` will fetch dependencies via ghproxy.com.</span></pre></div>\n<p dir=\"auto\">To build with TLS support, you'll need OpenSSL development libraries (e.g. libssl-dev on Debian/Ubuntu) and run:</p>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"$ ./x.py build -DENABLE_OPENSSL=ON\"><pre class=\"notranslate\">$ ./x.py build -DENABLE_OPENSSL=ON</pre></div>\n<p dir=\"auto\">To build with lua instead of luaJIT, run:</p>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"$ ./x.py build -DENABLE_LUAJIT=OFF\"><pre class=\"notranslate\">$ ./x.py build -DENABLE_LUAJIT=OFF</pre></div>\n<p dir=\"auto\">Build with debug mode, run:</p>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"# The default build type is RelWithDebInfo and its optimization level is typically -O2.\n# You can change it to -O0 in debug mode.\n\n$ ./x.py build -DCMAKE_BUILD_TYPE=Debug\"><pre class=\"notranslate\"><span class=\"pl-c\"><span class=\"pl-c\">#</span> The default build type is RelWithDebInfo and its optimization level is typically -O2.</span>\n<span class=\"pl-c\"><span class=\"pl-c\">#</span> You can change it to -O0 in debug mode.</span>\n\n$ ./x.py build -DCMAKE_BUILD_TYPE=Debug</pre></div>\n<h3 dir=\"auto\">Running Kvrocks</h3>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"$ ./build/kvrocks -c kvrocks.conf\"><pre class=\"notranslate\">$ ./build/kvrocks -c kvrocks.conf</pre></div>\n<h3 dir=\"auto\">Running Kvrocks using Docker</h3>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"$ docker run -it -p 6666:6666 apache/kvrocks --bind 0.0.0.0\n# or get the nightly image:\n$ docker run -it -p 6666:6666 apache/kvrocks:nightly\"><pre class=\"notranslate\">$ docker run -it -p 6666:6666 apache/kvrocks --bind 0.0.0.0\n<span class=\"pl-c\"><span class=\"pl-c\">#</span> or get the nightly image:</span>\n$ docker run -it -p 6666:6666 apache/kvrocks:nightly</pre></div>\n<p dir=\"auto\">Please visit <a href=\"https://hub.docker.com/r/apache/kvrocks\" rel=\"nofollow\">Apache Kvrocks on DockerHub</a> for additional details about images.</p>\n<h3 dir=\"auto\">Connect Kvrocks service</h3>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"$ redis-cli -p 6666\n\n127.0.0.1:6666&gt; get a\n(nil)\"><pre class=\"notranslate\">$ redis-cli -p 6666\n\n127.0.0.1:<span class=\"pl-k\">6666&gt;</span> get a\n(nil)</pre></div>\n<h3 dir=\"auto\">Running test cases</h3>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"$ ./x.py build --unittest\n$ ./x.py test cpp # run C++ unit tests\n$ ./x.py test go # run Golang (unit and integration) test cases\"><pre class=\"notranslate\">$ ./x.py build --unittest\n$ ./x.py <span class=\"pl-c1\">test</span> cpp <span class=\"pl-c\"><span class=\"pl-c\">#</span> run C++ unit tests</span>\n$ ./x.py <span class=\"pl-c1\">test</span> go <span class=\"pl-c\"><span class=\"pl-c\">#</span> run Golang (unit and integration) test cases</span></pre></div>\n<h3 dir=\"auto\">Supported platforms</h3>\n<ul dir=\"auto\">\n<li>OS: Linux and macOS</li>\n<li>arch: x86_64 and ARM</li>\n</ul>\n<h2 dir=\"auto\">Namespace</h2>\n<p dir=\"auto\">Namespace is used to isolate data between users. Unlike all the Redis databases can be visited by <code class=\"notranslate\">requirepass</code>, we use one token per namespace. <code class=\"notranslate\">requirepass</code> is regraded as admin token, and only admin token allows to access the namespace command, as well as some commands like <code class=\"notranslate\">config</code>, <code class=\"notranslate\">slaveof</code>, <code class=\"notranslate\">bgsave</code>, etc. See the <a href=\"https://kvrocks.apache.org/docs/namespace\" rel=\"nofollow\">Namespace</a> page for more details.</p>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"# add token\n127.0.0.1:6666&gt; namespace add ns1 my_token\nOK\n\n# update token\n127.0.0.1:6666&gt; namespace set ns1 new_token\nOK\n\n# list namespace\n127.0.0.1:6666&gt; namespace get *\n1) &quot;ns1&quot;\n2) &quot;new_token&quot;\n3) &quot;__namespace&quot;\n4) &quot;foobared&quot;\n\n# delete namespace\n127.0.0.1:6666&gt; namespace del ns1\nOK\"><pre class=\"notranslate\"><span class=\"pl-c\"><span class=\"pl-c\">#</span> add token</span>\n127.0.0.1:<span class=\"pl-k\">6666&gt;</span> namespace add ns1 my_token\nOK\n\n<span class=\"pl-c\"><span class=\"pl-c\">#</span> update token</span>\n127.0.0.1:<span class=\"pl-k\">6666&gt;</span> namespace <span class=\"pl-c1\">set</span> ns1 new_token\nOK\n\n<span class=\"pl-c\"><span class=\"pl-c\">#</span> list namespace</span>\n127.0.0.1:<span class=\"pl-k\">6666&gt;</span> namespace get <span class=\"pl-k\">*</span>\n1) <span class=\"pl-s\"><span class=\"pl-pds\">\"</span>ns1<span class=\"pl-pds\">\"</span></span>\n2) <span class=\"pl-s\"><span class=\"pl-pds\">\"</span>new_token<span class=\"pl-pds\">\"</span></span>\n3) <span class=\"pl-s\"><span class=\"pl-pds\">\"</span>__namespace<span class=\"pl-pds\">\"</span></span>\n4) <span class=\"pl-s\"><span class=\"pl-pds\">\"</span>foobared<span class=\"pl-pds\">\"</span></span>\n\n<span class=\"pl-c\"><span class=\"pl-c\">#</span> delete namespace</span>\n127.0.0.1:<span class=\"pl-k\">6666&gt;</span> namespace del ns1\nOK</pre></div>\n<h2 dir=\"auto\">Cluster</h2>\n<p dir=\"auto\">Kvrocks implements a proxyless centralized cluster solution but its accessing method is completely compatible with Redis cluster clients. You can use Redis cluster SDKs to access the kvrocks cluster. For more details, please refer to <a href=\"https://kvrocks.apache.org/docs/cluster/\" rel=\"nofollow\">Kvrocks Cluster Introduction</a>.</p>\n<h2 dir=\"auto\">Documents</h2>\n<p dir=\"auto\">Documents are hosted at the <a href=\"https://kvrocks.apache.org/docs/getting-started/\" rel=\"nofollow\">official website</a>.</p>\n<ul dir=\"auto\">\n<li><a href=\"https://kvrocks.apache.org/docs/supported-commands/\" rel=\"nofollow\">Supported Commands</a></li>\n<li><a href=\"https://kvrocks.apache.org/community/data-structure-on-rocksdb/\" rel=\"nofollow\">Design Complex Structure on RocksDB</a></li>\n<li><a href=\"https://kvrocks.apache.org/docs/replication\" rel=\"nofollow\">Replication Design</a></li>\n</ul>\n<h2 dir=\"auto\">Tools</h2>\n<ul dir=\"auto\">\n<li>To manage Kvrocks clusters for failover, scaling up/down and more, use <a href=\"https://github.com/apache/kvrocks-controller\">kvrocks-controller</a></li>\n<li>To export the Kvrocks monitor metrics, use <a href=\"https://github.com/RocksLabs/kvrocks_exporter\">kvrocks_exporter</a></li>\n<li>To migrate from Redis to Kvrocks, use <a href=\"https://github.com/tair-opensource/RedisShake\">RedisShake</a></li>\n<li>To migrate from Kvrocks to Redis, use <code class=\"notranslate\">kvrocks2redis</code> built via <code class=\"notranslate\">./x.py build</code></li>\n</ul>\n<h2 dir=\"auto\">Contributing</h2>\n<p dir=\"auto\">Kvrocks community welcomes all forms of contribution and you can find out how to get involved on the <a href=\"https://kvrocks.apache.org/community/\" rel=\"nofollow\">Community</a> and <a href=\"https://kvrocks.apache.org/community/contributing\" rel=\"nofollow\">How to Contribute</a> pages.</p>\n<h2 dir=\"auto\">License</h2>\n<p dir=\"auto\">Apache Kvrocks is licensed under the Apache License Version 2.0. See <a href=\"LICENSE\">LICENSE</a> and <a href=\"NOTICE\">NOTICE</a> for details.</p>\n<h2 dir=\"auto\">Social Media</h2>\n<ul dir=\"auto\">\n<li><a href=\"https://kvrocks.medium.com/\" rel=\"nofollow\">Medium</a></li>\n<li><a href=\"https://twitter.com/apache_kvrocks\" rel=\"nofollow\">X (Twitter)</a></li>\n<li><a href=\"https://www.zhihu.com/people/kvrocks\" rel=\"nofollow\">Zhihu</a> (in Chinese)</li>\n<li>WeChat Official Account (in Chinese, scan the QR code to follow)</li>\n</ul>\n<p dir=\"auto\"><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"assets/wechat_account.jpg\"><img src=\"assets/wechat_account.jpg\" alt=\"WeChat official account\" style=\"max-width: 100%;\"></a></p>","updatedAt":"2025-05-21T16:09:47Z","upvoteCount":null,"author":{"login":"eryajf","avatarUrl":"https://avatars.githubusercontent.com/u/33259379?u=e4a4090a38ac2473aaed4ef9945233636776c6c3&v=4","url":"https://github.com/eryajf"},"category":null,"labels":{"edges":[{"node":{"name":"更多","color":"25B472"}},{"node":{"name":"apache","color":"a17117"}},{"node":{"name":"Database","color":"3fbc9d"}}]},"comments":{"edges":[]}}},"pageContext":{"number":344,"previous":{"title":"huichen/kunlun: 基于 Golang 实现的 Git 仓库代码搜索引擎，只支持检索本地代码仓库","number":343},"next":{"title":"kubernetes-sigs/kwok: 一个没有 Kubelet 的 Kubernetes， 你可以在笔记本电脑上在几秒钟内模拟数千个节点，而不会大量消耗 CPU 或内存资源。且兼容 K8S API","number":345}}},
    "staticQueryHashes": ["151096407","2861350382"]}