Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
redis¼¯Èº¼Ü¹¹
 
×÷ÕߣºClBLE
  1422  次浏览      31
2020-5-14
 
±à¼­ÍƼö:
±¾ÎÄÖ÷ÒªÒÔÑ­Ðò½¥½øµÄ·½Ê½À´½²£¬Redis¼¯Èº¼Ü¹¹µÄÑݽø£¬Ï£Íû¶ÔÄúÓÐËù°ïÖú¡£
±¾ÎÄÀ´×Ô²©¿ÍÔ°£¬ÓÉ»ðÁú¹ûÈí¼þAlice±à¼­¡¢ÍƼö¡£

ÀÏ¹æ¾Ø£¬ÎÒÒÔÑ­Ðò½¥½øµÄ·½Ê½À´½²£¬ÎÒÒ»¹²¾­Àú¹ýÈýÌ×¼¯Èº¼Ü¹¹µÄÑݽø£¡

Replication+Sentinel

ÕâÌ׼ܹ¹Ê¹ÓõÄÊÇÉçÇø°æ±¾ÍƳöµÄÔ­Éú¸ß¿ÉÓýâ¾ö·½°¸£¬Æä¼Ü¹¹Í¼ÈçÏ£¡

ÕâÀïSentinelµÄ×÷ÓÃÓÐÈý¸ö:

¼à¿Ø:Sentinel »á²»¶ÏµÄ¼ì²éÖ÷·þÎñÆ÷ºÍ´Ó·þÎñÆ÷ÊÇ·ñÕý³£ÔËÐС£

֪ͨ:µ±±»¼à¿ØµÄij¸öredis·þÎñÆ÷³öÏÖÎÊÌ⣬Sentinelͨ¹ýAPI½Å±¾Ïò¹ÜÀíÔ±»òÕ߯äËûµÄÓ¦ÓóÌÐò·¢ËÍ֪ͨ¡£

×Ô¶¯¹ÊÕÏ×ªÒÆ:µ±Ö÷½Úµã²»ÄÜÕý³£¹¤×÷ʱ£¬Sentinel»á¿ªÊ¼Ò»´Î×Ô¶¯µÄ¹ÊÕÏ×ªÒÆ²Ù×÷£¬Ëü»á½«ÓëʧЧÖ÷½ÚµãÊÇÖ÷´Ó¹ØÏµ µÄÆäÖÐÒ»¸ö´Ó½ÚµãÉý¼¶ÎªÐµÄÖ÷½Úµã£¬²¢ÇÒ½«ÆäËûµÄ´Ó½ÚµãÖ¸ÏòеÄÖ÷½Úµã¡£

¹¤×÷Ô­Àí¾ÍÊÇ£¬µ±Masterå´»úµÄʱºò£¬Sentinel»áÑ¡¾Ù³öеÄMaster£¬²¢¸ù¾ÝSentinelÖÐclient-reconfig-script½Å±¾ÅäÖõÄÄÚÈÝ£¬È¥¶¯Ì¬ÐÞ¸ÄVIP(ÐéÄâIP)£¬½«VIP(ÐéÄâIP)Ö¸ÏòеÄMaster¡£ÎÒÃǵĿͻ§¶Ë¾ÍÁ¬ÏòÖ¸¶¨µÄVIP¼´¿É£¡

¹ÊÕÏ·¢ÉúºóµÄ×ªÒÆÇé¿ö£¬¿ÉÒÔÀí½âΪÏÂͼ

ȱÏÝ:

(1)Ö÷´ÓÇл»µÄ¹ý³ÌÖлᶪÊý¾Ý

(2)RedisÖ»Äܵ¥µãд£¬²»ÄÜˮƽÀ©ÈÝ

Proxy+Replication+Sentinel

ÕâÀïµÄProxyĿǰÓÐÁ½ÖÖÑ¡Ôñ:CodisºÍTwemproxy¡£ÎÒ¾­ÀúÕâÌ׼ܹ¹µÄʱ¼äΪ2015Ä꣬µ±Ê±ÎÒºÃÏñ×Éѯ¹ýÎÒµÄÖ÷¹ÜΪɶ²»ÓÃCodisºÍRedis¹ÙÍøµÄRedis Cluster¡£Ô­ÒòÓжþ:

¾Ý˵ÊÇÒòΪCodis¿ªÔ´µÄ±È½ÏÍí£¬¿¼Âǵ½¸ü»»×é¼þµÄ³É±¾ÎÊÌâ¡£±Ï¾¹±¾À´ÔËÐкúõĶ«Î÷£¬ÄãÔÙÈ¥»»×é¼þ£¬·çÏÕÊǺܴóµÄ¡£

Redis ClusterÔÚ2015Ä껹ÊÇÊÔÓð棬²»±£Ö¤»áÓöµ½Ê²Ã´ÎÊÌ⣬Òò´Ë²»¸Ò³¢ÊÔ¡£

ËùÒÔÎÒû½Ó´¥¹ýCodis£¬Ö®Ç°Ò»Ö±ÓõÄÊÇTwemproxy×÷ΪProxy¡£

ÕâÀïÒÔTwemproxyΪÀý˵Ã÷£¬ÈçÏÂͼËùʾ

¹¤×÷Ô­ÀíÈçÏÂ

ǰ¶ËʹÓÃTwemproxy+KeepAlived×ö´úÀí£¬½«Æäºó¶ËµÄ¶ą̀RedisʵÀý·ÖƬ½øÐÐͳһ¹ÜÀíÓë·ÖÅä

ÿһ¸ö·ÖƬ½ÚµãµÄSlave¶¼ÊÇMasterµÄ¸±±¾ÇÒÖ»¶Á

Sentinel³ÖÐø²»¶ÏµÄ¼à¿ØÃ¿¸ö·ÖƬ½ÚµãµÄMaster£¬µ±Master³öÏÖ¹ÊÕÏÇÒ²»¿ÉÓÃ״̬ʱ£¬Sentinel»á֪ͨ/Æô¶¯×Ô¶¯¹ÊÕÏ×ªÒÆµÈ¶¯×÷

Sentinel ¿ÉÒÔÔÚ·¢Éú¹ÊÕÏ×ªÒÆ¶¯×÷ºó´¥·¢ÏàÓ¦½Å±¾£¨Í¨¹ý client-reconfig-script ²ÎÊýÅäÖà £©£¬½Å±¾»ñÈ¡µ½×îеÄMasterÀ´ÐÞ¸ÄTwemproxyÅäÖÃ

ȱÏÝ:

(1)²¿Êð½á¹¹³¬¼¶¸´ÔÓ

(2)¿ÉÀ©Õ¹ÐԲ½øÐÐÀ©ËõÈÝÐèÒªÊÖ¶¯¸ÉÔ¤

(3)ÔËά²»·½±ã

Redis Cluster

ÎÒ¾­ÀúÕâÌ׼ܹ¹µÄʱ¼äΪ2017Ä꣬ÔÚÕâ¸öʱ¼äRedis ClusterÒѾ­ºÜ³ÉÊìÁË£¡ÄãÃÇÔÚÍøÉÏÄܲ鵽µÄ´ó²¿·Öȱµã£¬ÔÚÎÒ½Ó´¥µ½µÄʱºò»ù±¾ÒѾ­½â¾ö!

±ÈÈçûÓÐÍêÉÆµÄÔËά¹¤¾ß£¿¿ÉÒÔ²ÎÕÕÒ»ÏÂËѺü³öµÄCacheCloud¡£

±ÈÈçûÓй«Ë¾ÔÚÉú²úÓùý£¿ÎÒ½Ó´¥µ½µÄʱºò£¬°Ù¶ÈÌù°É£¬ÃÀÍŵȴ󳧶¼ÓùýÁË¡£

±ÈÈçûÓÐRelease°æ£¿ÎÒ½Ó´¥µ½µÄʱºò¾àÀëRedis Cluster·¢²¼Release°æÒѾ­ºÜ¾Ã¡£

¶øÇұϾ¹ÊǹÙÍø³öµÄ£¬¿Ï¶¨»áһֱά»¤¡¢¸üÐÂÏÂÈ¥£¬Î´À´±Ø¶¨»á¸ü¼Ó³ÉÊì¡¢Îȶ¨¡£»»¾ä»°Ëµ£¬Redis²»µ¹£¬Redis Cluster¾Í²»»á·ÅÆúά»¤¡£ËùÒÔ£¬ÎÒÍÆ¼ö»¹ÊÇÕâÌ׼ܹ¹!

ÈçÏÂͼËùʾ

¹¤×÷Ô­ÀíÈçÏÂ

¿Í»§¶ËÓëRedis½ÚµãÖ±Á¬,²»ÐèÒªÖмäProxy²ã£¬Ö±½ÓÁ¬½ÓÈÎÒâÒ»¸öMaster½Úµã

¸ù¾Ý¹«Ê½HASH_SLOT=CRC16(key) mod 16384£¬¼ÆËã³öÓ³Éäµ½Äĸö·ÖƬÉÏ£¬È»ºóRedis»áÈ¥ÏàÓ¦µÄ½Úµã½øÐвÙ×÷

¾ßÓÐÈçÏÂÓŵã:

(1)ÎÞÐèSentinelÉÚ±ø¼à¿Ø£¬Èç¹ûMaster¹ÒÁË£¬Redis ClusterÄÚ²¿×Ô¶¯½«SlaveÇл»Master

(2)¿ÉÒÔ½øÐÐˮƽÀ©ÈÝ

(3)Ö§³Ö×Ô¶¯»¯Ç¨ÒÆ£¬µ±³öÏÖij¸öSlaveå´»úÁË£¬ÄÇô¾ÍÖ»ÓÐMasterÁË£¬ÕâʱºòµÄ¸ß¿ÉÓÃÐÔ¾ÍÎÞ·¨ºÜºÃµÄ±£Ö¤ÁË£¬ÍòÒ»masterҲ崻úÁË£¬Õ¦°ìÄØ£¿ Õë¶ÔÕâÖÖÇé¿ö£¬Èç¹û˵ÆäËûMasterÓжàÓàµÄSlave £¬¼¯Èº×Ô¶¯°Ñ¶àÓàµÄSlaveÇ¨ÒÆµ½Ã»ÓÐSlaveµÄMaster ÖС£

ȱµã:

(1)ÅúÁ¿²Ù×÷ÊǸö¿Ó

(2)×ÊÔ´¸ôÀëÐԽϲÈÝÒ׳öÏÖÏ໥ӰÏìµÄÇé¿ö¡£

Ñ̸ç²Êµ°

ÔÚÃæÊÔÖÐÈç¹ûÅöµ½ÏÂÁÐÎÊÌ⣬ÈçºÎÓ¦ÓÃÉϱ¾ÆªµÄÖªÊ¶ÄØ£¿ÏÈÃ÷È·Ò»µã£¬ÎÒÍÆ¼öµÄÊÇRedis Cluster¡£

OK£¬¿ªÊ¼¾ÙÀý˵Ã÷

ÎÊÌâ1:¶®RedisÊÂÎñô£¿

Õý³£°æ£ºRedisÊÂÎñÊÇһЩÁÐredisÃüÁîµÄ¼¯ºÏ,blabla...

¸ßµ÷°æ: ÎÒÃÇÔÚÉú²úÉϲÉÓõÄÊÇRedis Cluster¼¯Èº¼Ü¹¹£¬²»Í¬µÄkeyÊÇÓпÉÄÜ·ÖÅäÔÚ²»Í¬µÄRedis½ÚµãÉϵģ¬ÔÚÕâÖÖÇé¿öÏÂRedisµÄÊÂÎñ»úÖÆÊDz»ÉúЧµÄ¡£Æä´Î£¬RedisÊÂÎñ²»Ö§³Ö»Ø¹ö²Ù×÷£¬¼òÖ±ÊǼ¦Àߣ¡ËùÒÔ»ù±¾²»Óã¡

ÎÊÌâ2:RedisµÄ¶àÊý¾Ý¿â»úÖÆ£¬Á˽â¶àÉÙ£¿

Õý³£°æ£ºRedisÖ§³Ö¶à¸öÊý¾Ý¿â£¬²¢ÇÒÿ¸öÊý¾Ý¿âµÄÊý¾ÝÊǸôÀëµÄ²»Äܹ²Ïí£¬µ¥»úϵÄredis¿ÉÒÔÖ§³Ö16¸öÊý¾Ý¿â£¨db0 ~ db15£©

¸ßµ÷°æ: ÔÚRedis Cluster¼¯Èº¼Ü¹¹ÏÂÖ»ÓÐÒ»¸öÊý¾Ý¿â¿Õ¼ä£¬¼´db0¡£Òò´Ë£¬ÎÒÃÇûÓÐʹÓÃRedisµÄ¶àÊý¾Ý¿â¹¦ÄÜ£¡

ÎÊÌâ3:Redis¼¯Èº»úÖÆÖУ¬Äã¾õµÃÓÐʲô²»×ãµÄµØ·½Âð£¿

Õý³£°æ: ²»ÖªµÀ

¸ßµ÷°æ: ¼ÙÉèÎÒÓÐÒ»¸ökey£¬¶ÔÓ¦µÄvalueÊÇHashÀàÐ͵ġ£Èç¹ûHash¶ÔÏó·Ç³£´ó£¬ÊDz»Ö§³ÖÓ³Éäµ½²»Í¬½ÚµãµÄ£¡Ö»ÄÜÓ³Éäµ½¼¯ÈºÖеÄÒ»¸ö½ÚµãÉÏ£¡»¹ÓоÍÊÇ×öÅúÁ¿²Ù×÷±È½ÏÂé·³£¡

ÎÊÌâ4:¶®RedisµÄÅúÁ¿²Ù×÷ô£¿

Õý³£°æ: ¶®Ò»µã¡£±ÈÈçmset¡¢mget²Ù×÷µÈ£¬blabla

¸ßµ÷°æ: ÎÒÃÇÔÚÉú²úÉϲÉÓõÄÊÇRedis Cluster¼¯Èº¼Ü¹¹£¬²»Í¬µÄkey»á»®·Öµ½²»Í¬µÄslotÖУ¬Òò´ËÖ±½ÓʹÓÃmset»òÕßmgetµÈ²Ù×÷ÊÇÐв»Í¨µÄ¡£

ÎÊÌâ5:ÄÇÔÚRedis¼¯ÈºÄ£Ê½Ï£¬ÈçºÎ½øÐÐÅúÁ¿²Ù×÷£¿

Õý³£°æ:²»ÖªµÀ

¸ßµ÷°æ:Õâ¸öÎÊÌâÆäʵ¿ÉÒÔдһƪÎÄÕÂÁË£¬¸ÄÌìд¡£ÕâÀï˵һÖÖÓÐÒ»¸öºÜ¼òµ¥µÄ´ð·¨£¬×ã¹»ÃæÊÔÓ᣼´:

Èç¹ûÖ´ÐеÄkeyÊýÁ¿±È½ÏÉÙ£¬¾Í²»ÓÃmgetÁË£¬¾ÍÓô®ÐÐget²Ù×÷¡£Èç¹ûÕæµÄÐèÒªÖ´ÐеÄkeyºÜ¶à£¬¾ÍʹÓÃHashtag±£Ö¤ÕâЩkeyÓ³É䵽ͬһ̨redis½ÚµãÉÏ¡£¼òµ¥À´ËµÓï·¨ÈçÏÂ

¶ÔÓÚkeyΪ{foo}.student1¡¢{foo}.student2£¬{foo}student3£¬ÕâÀàkeyÒ»¶¨ÊÇÔÚͬһ¸öredis½ÚµãÉÏ¡£ÒòΪkeyÖС°{}¡±Ö®¼äµÄ×Ö·û´®¾ÍÊǵ±Ç°keyµÄhash tags£¬ Ö»ÓÐkeyÖÐ{ }ÖеIJ¿·Ö²Å±»ÓÃÀ´×öhash£¬Òò´Ë¼ÆËã³öÀ´µÄredis½ÚµãÒ»¶¨ÊÇͬһ¸ö!

ps:Èç¹ûÄãÓõÄÊÇProxy·ÖƬ¼¯Èº¼Ü¹¹£¬ÀýÈçCodisÕâÖÖ£¬»á½«mget/msetµÄ¶à¸ökey²ð·Ö³É¶à¸öÃüÁî·¢Íù²»Í¬µÃredisʵÀý£¬ÕâÀï²»¶à˵¡£ÎÒÍÆ¼ö´ðµÄ»¹ÊÇredis cluster¡£

ÎÊÌâ6:ÄãÃÇÓжÔRedis×ö¶Áд·ÖÀëô£¿

Õý³£°æ:ûÓÐ×ö£¬ÖÁÓÚÔ­Òò¶î¡£¡£¡£¶î¡£¡£¡£¶î¡£¡£Ã»°ì·¨ÁË£¬Ó²×ÅͷƤ³¶~

¸ßµ÷°æ:²»×ö¶Áд·ÖÀë¡£ÎÒÃÇÓõÄÊÇRedis ClusterµÄ¼Ü¹¹£¬ÊÇÊôÓÚ·ÖÆ¬¼¯ÈºµÄ¼Ü¹¹¡£¶øredis±¾ÉíÔÚÄÚ´æÉϲÙ×÷£¬²»»áÉæ¼°IOÍÌÍ£¬¼´Ê¹¶Áд·ÖÀëÒ²²»»áÌáÉýÌ«¶àÐÔÄÜ£¬RedisÔÚÉú²úÉϵÄÖ÷ÒªÎÊÌâÊÇ¿¼ÂÇÈÝÁ¿£¬µ¥»ú×î¶à10-20G£¬keyÌ«¶à½µµÍredisÐÔÄÜ.Òò´Ë²ÉÓÃ·ÖÆ¬¼¯Èº½á¹¹£¬ÒѾ­Äܱ£Ö¤ÁËÎÒÃǵÄÐÔÄÜ¡£Æä´Î£¬ÓÃÉÏÁ˶Áд·ÖÀëºó£¬»¹Òª¿¼ÂÇÖ÷´ÓÒ»ÖÂÐÔ£¬Ö÷´ÓÑÓ³ÙµÈÎÊÌ⣬ͽÔöÒµÎñ¸´ÔÓ¶È¡£

 

   
1422 ´Îä¯ÀÀ       31
Ïà¹ØÎÄÕÂ

»ùÓÚEAµÄÊý¾Ý¿â½¨Ä£
Êý¾ÝÁ÷½¨Ä££¨EAÖ¸ÄÏ£©
¡°Êý¾Ýºþ¡±£º¸ÅÄî¡¢ÌØÕ÷¡¢¼Ü¹¹Óë°¸Àý
ÔÚÏßÉ̳ÇÊý¾Ý¿âϵͳÉè¼Æ ˼·+Ч¹û
 
Ïà¹ØÎĵµ

GreenplumÊý¾Ý¿â»ù´¡Åàѵ
MySQL5.1ÐÔÄÜÓÅ»¯·½°¸
ijµçÉÌÊý¾ÝÖÐ̨¼Ü¹¹Êµ¼ù
MySQL¸ßÀ©Õ¹¼Ü¹¹Éè¼Æ
Ïà¹Ø¿Î³Ì

Êý¾ÝÖÎÀí¡¢Êý¾Ý¼Ü¹¹¼°Êý¾Ý±ê×¼
MongoDBʵս¿Î³Ì
²¢·¢¡¢´óÈÝÁ¿¡¢¸ßÐÔÄÜÊý¾Ý¿âÉè¼ÆÓëÓÅ»¯
PostgreSQLÊý¾Ý¿âʵսÅàѵ
×îл¼Æ»®
DeepSeekÔÚÈí¼þ²âÊÔÓ¦ÓÃʵ¼ù 4-12[ÔÚÏß]
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢Êµ¼ù 4-19[ÔÚÏß]
UAF¼Ü¹¹ÌåϵÓëʵ¼ù 4-11[±±¾©]
AIÖÇÄÜ»¯Èí¼þ²âÊÔ·½·¨Óëʵ¼ù 5-23[ÉϺ£]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 4-26[±±¾©]
ÒµÎñ¼Ü¹¹Éè¼ÆÓ뽨ģ 4-18[±±¾©]
 
×îÐÂÎÄÕÂ
InfluxDB¸ÅÄîºÍ»ù±¾²Ù×÷
InfluxDB TSM´æ´¢ÒýÇæÖ®Êý¾ÝдÈë
Éî¶ÈÂþ̸Êý¾Ýϵͳ¼Ü¹¹¡ª¡ªLambda architecture
Lambda¼Ü¹¹Êµ¼ù
InfluxDB TSM´æ´¢ÒýÇæÖ®Êý¾Ý¶ÁÈ¡
×îпγÌ
OracleÊý¾Ý¿âÐÔÄÜÓÅ»¯¡¢¼Ü¹¹Éè¼ÆºÍÔËÐÐά»¤
²¢·¢¡¢´óÈÝÁ¿¡¢¸ßÐÔÄÜÊý¾Ý¿âÉè¼ÆÓëÓÅ»¯
NoSQLÊý¾Ý¿â£¨Ô­Àí¡¢Ó¦Óá¢×î¼Ñʵ¼ù£©
ÆóÒµ¼¶Hadoop´óÊý¾Ý´¦Àí×î¼Ñʵ¼ù
OracleÊý¾Ý¿âÐÔÄÜÓÅ»¯×î¼Ñʵ¼ù
³É¹¦°¸Àý
ij½ðÈÚ¹«Ë¾ Mysql¼¯ÈºÓëÐÔÄÜÓÅ»¯
±±¾© ²¢·¢¡¢´óÈÝÁ¿¡¢¸ßÐÔÄÜÊý¾Ý¿âÉè¼ÆÓëÓÅ»¯
ÖªÃûijÐÅϢͨÐŹ«Ë¾ NoSQL»º´æÊý¾Ý¿â¼¼Êõ
±±¾© oracleÊý¾Ý¿âSQLÓÅ»¯
ÖйúÒÆ¶¯ IaaSÔÆÆ½Ì¨-Ö÷Á÷Êý¾Ý¿â¼°´æ´¢¼¼Êõ