±à¼ÍƼö: |
ÎÄÕÂÏêϸ½éÉÜÁË·Ö²¼Ê½Êý¾Ý¿âÖÐredis£¬ÎªÊ²Ã´ÒªÊ¹ÓÃredisÒÔ¼°redisµÄÌØµãÒÔ¼°redisµÄÊý¾ÝÀàÐÍ£¬ÒÔ¼°Ã¿ÖÖÊý¾ÝÀàÐ͵ÄʹÓó¡¾°¡£
±¾ÎÄÀ´×Ô²©¿ÍÔ°£¬ÓÉ»ðÁú¹ûÈí¼þAlice±à¼¡¢ÍƼö¡£ |
|
1¡¢ÎªÊ²Ã´Ê¹ÓÃredis
·ÖÎö:²©Ö÷¾õµÃÔÚÏîÄ¿ÖÐʹÓÃredis£¬Ö÷ÒªÊÇ´ÓÁ½¸ö½Ç¶ÈÈ¥¿¼ÂÇ:ÐÔÄܺͲ¢·¢¡£µ±È»£¬redis»¹¾ß±¸¿ÉÒÔ×ö·Ö²¼Ê½ËøµÈÆäËû¹¦ÄÜ£¬µ«ÊÇÈç¹ûÖ»ÊÇΪÁË·Ö²¼Ê½ËøÕâЩÆäËû¹¦ÄÜ£¬ÍêÈ«»¹ÓÐÆäËûÖмä¼þ(ÈçzookpeerµÈ)´úÌæ£¬²¢²»ÊÇ·ÇҪʹÓÃredis¡£Òò´Ë£¬Õâ¸öÎÊÌâÖ÷Òª´ÓÐÔÄܺͲ¢·¢Á½¸ö½Ç¶ÈÈ¥´ð¡£
»Ø´ð:ÈçÏÂËùʾ£¬·ÖΪÁ½µã
£¨Ò»£©ÐÔÄÜ
ÈçÏÂͼËùʾ£¬ÎÒÃÇÔÚÅöµ½ÐèÒªÖ´ÐкÄÊ±ÌØ±ð¾Ã£¬ÇÒ½á¹û²»Æµ·±±ä¶¯µÄSQL£¬¾ÍÌØ±ðÊʺϽ«ÔËÐнá¹û·ÅÈ뻺´æ¡£ÕâÑù£¬ºóÃæµÄÇëÇó¾ÍÈ¥»º´æÖжÁÈ¡£¬Ê¹µÃÇëÇóÄܹ»Ñ¸ËÙÏìÓ¦¡£

ÌâÍâ»°£ººöÈ»ÏëÁÄÒ»ÏÂÕâ¸öѸËÙÏìÓ¦µÄ±ê×¼¡£Æäʵ¸ù¾Ý½»»¥Ð§¹ûµÄ²»Í¬£¬Õâ¸öÏìӦʱ¼äûÓй̶¨±ê×¼¡£²»¹ýÔø¾ÓÐÈËÕâô¸æËßÎÒ:"ÔÚÀíÏë״̬Ï£¬ÎÒÃǵÄÒ³ÃæÌø×ªÐèÒªÔÚ˲¼ä½â¾ö£¬¶ÔÓÚÒ³ÄÚ²Ù×÷ÔòÐèÒªÔÚɲÄǼä½â¾ö¡£ÁíÍ⣬³¬¹ýÒ»µ¯Ö¸µÄºÄʱ²Ù×÷ÒªÓнø¶ÈÌáʾ£¬²¢ÇÒ¿ÉÒÔËæÊ±ÖÐÖ¹»òÈ¡Ïû£¬ÕâÑù²ÅÄܸøÓû§×îºÃµÄÌåÑé¡£"
ÄÇô˲¼ä¡¢É²ÄÇ¡¢Ò»µ¯Ö¸¾ßÌåÊǶàÉÙʱ¼äÄØ£¿
¸ù¾Ý¡¶Ä¦ÚÉ®ìóÂÉ¡·¼ÇÔØ
һɲÄÇÕßΪһÄ¶þÊ®ÄîΪһ˲£¬¶þʮ˲Ϊһµ¯Ö¸£¬¶þÊ®µ¯Ö¸ÎªÒ»ÂÞÔ¤£¬¶þÊ®ÂÞԤΪһÐëô§£¬Ò»ÈÕÒ»Ò¹ÓÐÈýÊ®Ðëô§¡£
ÄÇô£¬¾¹ýÖÜÃܵļÆË㣬һ˲¼äΪ0.36 Ãë,һɲÄÇÓÐ 0.018
Ãë.Ò»µ¯Ö¸³¤´ï 7.2 Ãë¡£
£¨¶þ£©²¢·¢

ÈçÏÂͼËùʾ£¬ÔÚ´ó²¢·¢µÄÇé¿öÏ£¬ËùÓеÄÇëÇóÖ±½Ó·ÃÎÊÊý¾Ý¿â£¬Êý¾Ý¿â»á³öÏÖÁ¬½ÓÒì³£¡£Õâ¸öʱºò£¬¾ÍÐèҪʹÓÃredis×öÒ»¸ö»º³å²Ù×÷£¬ÈÃÇëÇóÏÈ·ÃÎʵ½redis£¬¶ø²»ÊÇÖ±½Ó·ÃÎÊÊý¾Ý¿â¡£
2¡¢Ê¹ÓÃredisÓÐʲôȱµã
·ÖÎö:´ó¼ÒÓÃredisÕâô¾Ã£¬Õâ¸öÎÊÌâÊDZØÐëÒªÁ˽âµÄ£¬»ù±¾ÉÏʹÓÃredis¶¼»áÅöµ½Ò»Ð©ÎÊÌ⣬³£¼ûµÄÒ²¾Í¼¸¸ö¡£
»Ø´ð:Ö÷ÒªÊÇËĸöÎÊÌâ
(Ò»)»º´æºÍÊý¾Ý¿â˫дһÖÂÐÔÎÊÌâ
(¶þ)»º´æÑ©±ÀÎÊÌâ
(Èý)»º´æ»÷´©ÎÊÌâ
(ËÄ)»º´æµÄ²¢·¢¾ºÕùÎÊÌâ
ÕâËĸöÎÊÌ⣬ÎÒ¸öÈËÊǾõµÃÔÚÏîÄ¿ÖУ¬±È½Ï³£Óö¼ûµÄ£¬¾ßÌå½â¾ö·½°¸£¬ºóÎĸø³ö¡£
3¡¢µ¥Ï̵߳ÄredisΪʲôÕâô¿ì
·ÖÎö:Õâ¸öÎÊÌâÆäʵÊǶÔredisÄÚ²¿»úÖÆµÄÒ»¸ö¿¼²ì¡£Æäʵ¸ù¾Ý²©Ö÷µÄÃæÊÔ¾Ñ飬ºÜ¶àÈËÆäʵ¶¼²»ÖªµÀredisÊǵ¥Ï̹߳¤×÷Ä£ÐÍ¡£ËùÒÔ£¬Õâ¸öÎÊÌ⻹ÊÇÓ¦¸ÃÒª¸´Ï°Ò»Ïµġ£
»Ø´ð:Ö÷ÒªÊÇÒÔÏÂÈýµã
(Ò»)´¿ÄÚ´æ²Ù×÷
(¶þ)µ¥Ï̲߳Ù×÷£¬±ÜÃâÁËÆµ·±µÄÉÏÏÂÎÄÇл»
(Èý)²ÉÓÃÁË·Ç×èÈûI/O¶à·¸´ÓûúÖÆ
ÌâÍâ»°£ºÎÒÃÇÏÖÔÚÒª×ÐϸµÄ˵һ˵I/O¶à·¸´ÓûúÖÆ£¬ÒòΪÕâ¸ö˵·¨ÊµÔÚÊÇ̫ͨË×ÁË£¬Í¨Ë×µ½Ò»°ãÈ˶¼²»¶®ÊÇʲôÒâ˼¡£²©Ö÷´òÒ»¸ö±È·½£ºÐ¡ÇúÔÚS³Ç¿ªÁËÒ»¼Ò¿ìµÝµê£¬¸ºÔðͬ³Ç¿ìËÍ·þÎñ¡£Ð¡ÇúÒòΪ×ʽðÏÞÖÆ£¬¹ÍÓ¶ÁËÒ»Åú¿ìµÝÔ±£¬È»ºóСÇú·¢ÏÖ×ʽ𲻹»ÁË£¬Ö»¹»ÂòÒ»Á¾³µËÍ¿ìµÝ¡£
¾Óª·½Ê½Ò»
¿Í»§Ã¿ËÍÀ´Ò»·Ý¿ìµÝ£¬Ð¡Çú¾ÍÈÃÒ»¸ö¿ìµÝÔ±¶¢×Å£¬È»ºó¿ìµÝÔ±¿ª³µÈ¥ËÍ¿ìµÝ¡£ÂýÂýµÄСÇú¾Í·¢ÏÖÁËÕâÖÖ¾Óª·½Ê½´æÔÚÏÂÊöÎÊÌâ
¼¸Ê®¸ö¿ìµÝÔ±»ù±¾ÉÏʱ¼ä¶¼»¨ÔÚÁËÇÀ³µÉÏÁË£¬´ó²¿·Ö¿ìµÝÔ±¶¼´¦ÔÚÏÐÖÃ״̬£¬ËÇÀµ½Á˳µ£¬Ë¾ÍÄÜÈ¥ËÍ¿ìµÝ
Ëæ×Å¿ìµÝµÄÔö¶à£¬¿ìµÝÔ±Ò²Ô½À´Ô½¶à£¬Ð¡Çú·¢ÏÖ¿ìµÝµêÀïÔ½À´Ô½¼·£¬Ã»°ì·¨¹ÍӶеĿìµÝÔ±ÁË
¿ìµÝÔ±Ö®¼äµÄе÷ºÜ»¨Ê±¼ä
×ÛºÏÉÏÊöȱµã£¬Ð¡ÇúÍ´¶¨Ë¼Í´£¬Ìá³öÁËÏÂÃæµÄ¾Óª·½Ê½
¾Óª·½Ê½¶þ
СÇúÖ»¹ÍÓ¶Ò»¸ö¿ìµÝÔ±¡£È»ºóÄØ£¬¿Í»§ËÍÀ´µÄ¿ìµÝ£¬Ð¡Çú°´ËÍ´ïµØµã±ê×¢ºÃ£¬È»ºóÒÀ´Î·ÅÔÚÒ»¸öµØ·½¡£×îºó£¬ÄǸö¿ìµÝÔ±ÒÀ´ÎµÄȥȡ¿ìµÝ£¬Ò»´ÎÄÃÒ»¸ö£¬È»ºó¿ª×ųµÈ¥ËÍ¿ìµÝ£¬ËͺÃÁ˾ͻØÀ´ÄÃÏÂÒ»¸ö¿ìµÝ¡£
¶Ô±È
ÉÏÊöÁ½ÖÖ¾Óª·½Ê½¶Ô±È£¬ÊDz»ÊÇÃ÷ÏÔ¾õµÃµÚ¶þÖÖ£¬Ð§Âʸü¸ß£¬¸üºÃÄØ¡£ÔÚÉÏÊö±ÈÓ÷ÖÐ:
ÿ¸ö¿ìµÝÔ±---------->ÿ¸öÏß³Ì
ÿ¸ö¿ìµÝ------------>ÿ¸ösocket(I/OÁ÷)
¿ìµÝµÄËÍ´ïµØµã------>socketµÄ²»Í¬×´Ì¬
¿Í»§ËÍ¿ìµÝÇëÇó------>À´×Ô¿Í»§¶ËµÄÇëÇó
СÇúµÄ¾Óª·½Ê½------>·þÎñ¶ËÔËÐеĴúÂë
Ò»Á¾³µ--------------->CPUµÄºËÊý
ÓÚÊÇÎÒÃÇÓÐÈçϽáÂÛ
1¡¢¾Óª·½Ê½Ò»¾ÍÊÇ´«Í³µÄ²¢·¢Ä£ÐÍ£¬Ã¿¸öI/OÁ÷(¿ìµÝ)¶¼ÓÐÒ»¸öеÄÏß³Ì(¿ìµÝÔ±)¹ÜÀí¡£
2¡¢¾Óª·½Ê½¶þ¾ÍÊÇI/O¶à·¸´Óá£Ö»Óе¥¸öÏß³Ì(Ò»¸ö¿ìµÝÔ±)£¬Í¨¹ý¸ú×Ùÿ¸öI/OÁ÷µÄ״̬(ÿ¸ö¿ìµÝµÄËÍ´ïµØµã)£¬À´¹ÜÀí¶à¸öI/OÁ÷¡£
ÏÂÃæÀà±Èµ½ÕæÊµµÄredisÏß³ÌÄ£ÐÍ£¬ÈçͼËùʾ

²ÎÕÕÉÏͼ£¬¼òµ¥À´Ëµ£¬¾ÍÊÇ¡£ÎÒÃǵÄredis-clientÔÚ²Ù×÷µÄʱºò£¬»á²úÉú¾ßÓв»Í¬Ê¼þÀàÐ͵Äsocket¡£ÔÚ·þÎñ¶Ë£¬ÓÐÒ»¶ÎI/0¶à·¸´ÓóÌÐò£¬½«ÆäÖÃÈë¶ÓÁÐÖ®ÖС£È»ºó£¬Îļþʼþ·ÖÅÉÆ÷£¬ÒÀ´ÎÈ¥¶ÓÁÐÖÐÈ¡£¬×ª·¢µ½²»Í¬µÄʼþ´¦ÀíÆ÷ÖС£
ÐèҪ˵Ã÷µÄÊÇ£¬Õâ¸öI/O¶à·¸´ÓûúÖÆ£¬redis»¹ÌṩÁËselect¡¢epoll¡¢evport¡¢kqueueµÈ¶à·¸´Óú¯Êý¿â£¬´ó¼Ò¿ÉÒÔ×ÔÐÐÈ¥Á˽⡣
4¡¢redisµÄÊý¾ÝÀàÐÍ£¬ÒÔ¼°Ã¿ÖÖÊý¾ÝÀàÐ͵ÄʹÓó¡¾°
·ÖÎö£ºÊDz»ÊǾõµÃÕâ¸öÎÊÌâºÜ»ù´¡£¬ÆäʵÎÒÒ²Õâô¾õµÃ¡£È»¶ø¸ù¾ÝÃæÊÔ¾Ñé·¢ÏÖ£¬ÖÁÉٰٷְËÊ®µÄÈË´ð²»ÉÏÕâ¸öÎÊÌâ¡£½¨Ò飬ÔÚÏîÄ¿ÖÐÓõ½ºó£¬ÔÙÀà±È¼ÇÒ䣬Ìå»á¸üÉ²»ÒªÓ²¼Ç¡£»ù±¾ÉÏ£¬Ò»¸öºÏ¸ñµÄ³ÌÐòÔ±£¬ÎåÖÖÀàÐͶ¼»áÓõ½¡£
»Ø´ð£ºÒ»¹²ÎåÖÖ
(Ò»)String
Õâ¸öÆäʵûɶºÃ˵µÄ£¬×î³£¹æµÄset/get²Ù×÷£¬value¿ÉÒÔÊÇStringÒ²¿ÉÒÔÊÇÊý×Ö¡£Ò»°ã×öһЩ¸´ÔӵļÆÊý¹¦ÄܵĻº´æ¡£
(¶þ)hash
ÕâÀïvalue´æ·ÅµÄÊǽṹ»¯µÄ¶ÔÏ󣬱ȽϷ½±ãµÄ¾ÍÊDzÙ×÷ÆäÖеÄij¸ö×ֶΡ£²©Ö÷ÔÚ×öµ¥µãµÇ¼µÄʱºò£¬¾ÍÊÇÓÃÕâÖÖÊý¾Ý½á¹¹´æ´¢Óû§ÐÅÏ¢£¬ÒÔcookieId×÷Ϊkey£¬ÉèÖÃ30·ÖÖÓΪ»º´æ¹ýÆÚʱ¼ä£¬ÄܺܺõÄÄ£Äâ³öÀàËÆsessionµÄЧ¹û¡£
(Èý)list
ʹÓÃListµÄÊý¾Ý½á¹¹£¬¿ÉÒÔ×ö¼òµ¥µÄÏûÏ¢¶ÓÁеŦÄÜ¡£ÁíÍ⻹ÓÐÒ»¸ö¾ÍÊÇ£¬¿ÉÒÔÀûÓÃlrangeÃüÁ×ö»ùÓÚredisµÄ·ÖÒ³¹¦ÄÜ£¬ÐÔÄܼ«¼Ñ£¬Óû§ÌåÑéºÃ¡£
(ËÄ)set
ÒòΪset¶Ñ·ÅµÄÊÇÒ»¶Ñ²»Öظ´ÖµµÄ¼¯ºÏ¡£ËùÒÔ¿ÉÒÔ×öÈ«¾ÖÈ¥ÖØµÄ¹¦ÄÜ¡£ÎªÊ²Ã´²»ÓÃJVM×Ô´øµÄSet½øÐÐÈ¥ÖØ£¿ÒòΪÎÒÃǵÄϵͳһ°ã¶¼ÊǼ¯Èº²¿Êð£¬Ê¹ÓÃJVM×Ô´øµÄSet£¬±È½ÏÂé·³£¬ÄѵÀΪÁËÒ»¸ö×öÒ»¸öÈ«¾ÖÈ¥ÖØ£¬ÔÙÆðÒ»¸ö¹«¹²·þÎñ£¬Ì«Âé·³ÁË¡£
ÁíÍ⣬¾ÍÊÇÀûÓý»¼¯¡¢²¢¼¯¡¢²î¼¯µÈ²Ù×÷£¬¿ÉÒÔ¼ÆË㹲ͬϲºÃ£¬È«²¿µÄϲºÃ£¬×Ô¼º¶ÀÓеÄϲºÃµÈ¹¦ÄÜ¡£
(Îå)sorted set
sorted set¶àÁËÒ»¸öÈ¨ÖØ²ÎÊýscore,¼¯ºÏÖеÄÔªËØÄܹ»°´score½øÐÐÅÅÁС£¿ÉÒÔ×öÅÅÐаñÓ¦Óã¬È¡TOP
N²Ù×÷¡£sorted set¿ÉÒÔÓÃÀ´×öÑÓʱÈÎÎñ¡£×îºóÒ»¸öÓ¦ÓþÍÊÇ¿ÉÒÔ×ö·¶Î§²éÕÒ¡£
5¡¢redisµÄ¹ýÆÚ²ßÂÔÒÔ¼°ÄÚ´æÌÔÌ»úÖÆ
·ÖÎö:Õâ¸öÎÊÌâÆäʵÏàµ±ÖØÒª£¬µ½µ×redisÓÐûÓõ½¼Ò£¬Õâ¸öÎÊÌâ¾Í¿ÉÒÔ¿´³öÀ´¡£±ÈÈçÄãredisÖ»ÄÜ´æ5GÊý¾Ý£¬¿ÉÊÇÄãдÁË10G£¬ÄÇ»áɾ5GµÄÊý¾Ý¡£ÔõôɾµÄ£¬Õâ¸öÎÊÌâ˼¿¼¹ýô£¿»¹ÓУ¬ÄãµÄÊý¾ÝÒѾÉèÖÃÁ˹ýÆÚʱ¼ä£¬µ«ÊÇʱ¼äµ½ÁË£¬ÄÚ´æÕ¼ÓÃÂÊ»¹ÊDZȽϸߣ¬ÓÐ˼¿¼¹ýÔÒòô?
»Ø´ð:
redis²ÉÓõÄÊǶ¨ÆÚɾ³ý+¶èÐÔɾ³ý²ßÂÔ¡£
Ϊʲô²»Óö¨Ê±É¾³ý²ßÂÔ?
¶¨Ê±É¾³ý,ÓÃÒ»¸ö¶¨Ê±Æ÷À´¸ºÔð¼àÊÓkey,¹ýÆÚÔò×Ô¶¯É¾³ý¡£ËäÈ»Äڴ漰ʱÊÍ·Å£¬µ«ÊÇÊ®·ÖÏûºÄCPU×ÊÔ´¡£ÔÚ´ó²¢·¢ÇëÇóÏ£¬CPUÒª½«Ê±¼äÓ¦ÓÃÔÚ´¦ÀíÇëÇ󣬶ø²»ÊÇɾ³ýkey,Òò´ËûÓвÉÓÃÕâÒ»²ßÂÔ.
¶¨ÆÚɾ³ý+¶èÐÔɾ³ýÊÇÈçºÎ¹¤×÷µÄÄØ?
¶¨ÆÚɾ³ý£¬redisĬÈÏÿ¸ö100ms¼ì²é£¬ÊÇ·ñÓйýÆÚµÄkey,ÓйýÆÚkeyÔòɾ³ý¡£ÐèҪ˵Ã÷µÄÊÇ£¬redis²»ÊÇÿ¸ö100ms½«ËùÓеÄkey¼ì²éÒ»´Î£¬¶øÊÇËæ»ú³éÈ¡½øÐмì²é(Èç¹ûÿ¸ô100ms,È«²¿key½øÐмì²é£¬redisÆñ²»ÊÇ¿¨ËÀ)¡£Òò´Ë£¬Èç¹ûÖ»²ÉÓö¨ÆÚɾ³ý²ßÂÔ£¬»áµ¼Öºܶàkeyµ½Ê±¼äûÓÐɾ³ý¡£
ÓÚÊÇ£¬¶èÐÔɾ³ýÅÉÉÏÓó¡¡£Ò²¾ÍÊÇ˵ÔÚÄã»ñȡij¸ökeyµÄʱºò£¬redis»á¼ì²éһϣ¬Õâ¸ökeyÈç¹ûÉèÖÃÁ˹ýÆÚʱ¼äÄÇôÊÇ·ñ¹ýÆÚÁË£¿Èç¹û¹ýÆÚÁË´Ëʱ¾Í»áɾ³ý¡£
²ÉÓö¨ÆÚɾ³ý+¶èÐÔɾ³ý¾ÍûÆäËûÎÊÌâÁËô?
²»Êǵģ¬Èç¹û¶¨ÆÚɾ³ýûɾ³ýkey¡£È»ºóÄãҲû¼´Ê±È¥ÇëÇókey£¬Ò²¾ÍÊÇ˵¶èÐÔɾ³ýҲûÉúЧ¡£ÕâÑù£¬redisµÄÄÚ´æ»áÔ½À´Ô½¸ß¡£ÄÇô¾ÍÓ¦¸Ã²ÉÓÃÄÚ´æÌÔÌ»úÖÆ¡£
ÔÚredis.confÖÐÓÐÒ»ÐÐÅäÖÃ
# maxmemory-policy volatile-lru
¸ÃÅäÖþÍÊÇÅäÄÚ´æÌÔ̲ßÂÔµÄ(ʲô£¬ÄãûÅä¹ý£¿ºÃºÃ·´Ê¡Ò»ÏÂ×Ô¼º)
1£©noeviction£ºµ±ÄÚ´æ²»×ãÒÔÈÝÄÉÐÂдÈëÊý¾Ýʱ£¬ÐÂдÈë²Ù×÷»á±¨´í¡£Ó¦¸ÃûÈËÓðɡ£
2£©allkeys-lru£ºµ±ÄÚ´æ²»×ãÒÔÈÝÄÉÐÂдÈëÊý¾Ýʱ£¬ÔÚ¼ü¿Õ¼äÖУ¬ÒƳý×î½ü×îÉÙʹÓõÄkey¡£ÍƼöʹÓã¬Ä¿Ç°ÏîÄ¿ÔÚÓÃÕâÖÖ¡£
3£©allkeys-random£ºµ±ÄÚ´æ²»×ãÒÔÈÝÄÉÐÂдÈëÊý¾Ýʱ£¬ÔÚ¼ü¿Õ¼äÖУ¬Ëæ»úÒÆ³ýij¸ökey¡£Ó¦¸ÃҲûÈËÓðɣ¬Ä㲻ɾ×îÉÙʹÓÃKey,È¥Ëæ»úɾ¡£
4£©volatile-lru£ºµ±ÄÚ´æ²»×ãÒÔÈÝÄÉÐÂдÈëÊý¾Ýʱ£¬ÔÚÉèÖÃÁ˹ýÆÚʱ¼äµÄ¼ü¿Õ¼äÖУ¬ÒƳý×î½ü×îÉÙʹÓõÄkey¡£ÕâÖÖÇé¿öÒ»°ãÊǰÑredis¼Èµ±»º´æ£¬ÓÖ×ö³Ö¾Ã»¯´æ´¢µÄʱºò²ÅÓᣲ»ÍƼö
5£©volatile-random£ºµ±ÄÚ´æ²»×ãÒÔÈÝÄÉÐÂдÈëÊý¾Ýʱ£¬ÔÚÉèÖÃÁ˹ýÆÚʱ¼äµÄ¼ü¿Õ¼äÖУ¬Ëæ»úÒÆ³ýij¸ökey¡£ÒÀÈ»²»ÍƼö
6£©volatile-ttl£ºµ±ÄÚ´æ²»×ãÒÔÈÝÄÉÐÂдÈëÊý¾Ýʱ£¬ÔÚÉèÖÃÁ˹ýÆÚʱ¼äµÄ¼ü¿Õ¼äÖУ¬ÓиüÔç¹ýÆÚʱ¼äµÄkeyÓÅÏÈÒÆ³ý¡£²»ÍƼö
ps£ºÈç¹ûûÓÐÉèÖà expire µÄkey, ²»Âú×ãÏȾöÌõ¼þ(prerequisites);
ÄÇô volatile-lru, volatile-random ºÍ volatile-ttl ²ßÂÔµÄÐÐΪ,
ºÍ noeviction(²»É¾³ý) »ù±¾ÉÏÒ»Ö¡£
6¡¢redisºÍÊý¾Ý¿â˫дһÖÂÐÔÎÊÌâ
·ÖÎö:Ò»ÖÂÐÔÎÊÌâÊÇ·Ö²¼Ê½³£¼ûÎÊÌ⣬»¹¿ÉÒÔÔÙ·ÖΪ×îÖÕÒ»ÖÂÐÔºÍǿһÖÂÐÔ¡£Êý¾Ý¿âºÍ»º´æË«Ð´£¬¾Í±ØÈ»»á´æÔÚ²»Ò»ÖµÄÎÊÌâ¡£´ðÕâ¸öÎÊÌ⣬ÏÈÃ÷°×Ò»¸öǰÌá¡£¾ÍÊÇÈç¹û¶ÔÊý¾ÝÓÐǿһÖÂÐÔÒªÇ󣬲»ÄÜ·Å»º´æ¡£ÎÒÃÇËù×öµÄÒ»ÇУ¬Ö»Äܱ£Ö¤×îÖÕÒ»ÖÂÐÔ¡£ÁíÍ⣬ÎÒÃÇËù×öµÄ·½°¸Æäʵ´Ó¸ù±¾ÉÏÀ´Ëµ£¬Ö»ÄÜ˵½µµÍ²»Ò»Ö·¢ÉúµÄ¸ÅÂÊ£¬ÎÞ·¨ÍêÈ«±ÜÃâ¡£Òò´Ë£¬ÓÐǿһÖÂÐÔÒªÇóµÄÊý¾Ý£¬²»ÄÜ·Å»º´æ¡£
»Ø´ð:Ê×ÏÈ£¬²ÉÈ¡ÕýÈ·¸üвßÂÔ£¬ÏȸüÐÂÊý¾Ý¿â£¬ÔÙɾ»º´æ¡£Æä´Î£¬ÒòΪ¿ÉÄÜ´æÔÚɾ³ý»º´æÊ§°ÜµÄÎÊÌ⣬Ìṩһ¸ö²¹³¥´ëÊ©¼´¿É£¬ÀýÈçÀûÓÃÏûÏ¢¶ÓÁС£
7¡¢ÈçºÎÓ¦¶Ô»º´æ´©Í¸ºÍ»º´æÑ©±ÀÎÊÌâ
·ÖÎö:ÕâÁ½¸öÎÊÌ⣬˵¾äʵÔÚ»°£¬Ò»°ãÖÐСÐÍ´«Í³Èí¼þÆóÒµ£¬ºÜÄÑÅöµ½Õâ¸öÎÊÌâ¡£Èç¹ûÓд󲢷¢µÄÏîÄ¿£¬Á÷Á¿Óм¸°ÙÍò×óÓÒ¡£ÕâÁ½¸öÎÊÌâÒ»¶¨ÒªÉî¿Ì¿¼ÂÇ¡£
»Ø´ð:ÈçÏÂËùʾ
»º´æ´©Í¸£¬¼´ºÚ¿Í¹ÊÒâÈ¥ÇëÇ󻺴æÖв»´æÔÚµÄÊý¾Ý£¬µ¼ÖÂËùÓеÄÇëÇó¶¼í¡µ½Êý¾Ý¿âÉÏ£¬´Ó¶øÊý¾Ý¿âÁ¬½ÓÒì³£¡£
½â¾ö·½°¸:
(Ò»)ÀûÓû¥³âËø£¬»º´æÊ§Ð§µÄʱºò£¬ÏÈÈ¥»ñµÃËø£¬µÃµ½ËøÁË£¬ÔÙÈ¥ÇëÇóÊý¾Ý¿â¡£Ã»µÃµ½Ëø£¬ÔòÐÝÃßÒ»¶Îʱ¼äÖØÊÔ
(¶þ)²ÉÓÃÒì²½¸üвßÂÔ£¬ÎÞÂÛkeyÊÇ·ñÈ¡µ½Öµ£¬¶¼Ö±½Ó·µ»Ø¡£valueÖµÖÐά»¤Ò»¸ö»º´æÊ§Ð§Ê±¼ä£¬»º´æÈç¹û¹ýÆÚ£¬Òì²½ÆðÒ»¸öÏß³ÌÈ¥¶ÁÊý¾Ý¿â£¬¸üлº´æ¡£ÐèÒª×ö»º´æÔ¤ÈÈ(ÏîÄ¿Æô¶¯Ç°£¬ÏȼÓÔØ»º´æ)²Ù×÷¡£
(Èý)Ìṩһ¸öÄÜѸËÙÅжÏÇëÇóÊÇ·ñÓÐЧµÄÀ¹½Ø»úÖÆ£¬±ÈÈ磬ÀûÓò¼Â¡¹ýÂËÆ÷£¬ÄÚ²¿Î¬»¤Ò»ÏµÁкϷ¨ÓÐЧµÄkey¡£Ñ¸ËÙÅжϳö£¬ÇëÇóËùЯ´øµÄKeyÊÇ·ñºÏ·¨ÓÐЧ¡£Èç¹û²»ºÏ·¨£¬ÔòÖ±½Ó·µ»Ø¡£
»º´æÑ©±À£¬¼´»º´æÍ¬Ò»Ê±¼ä´óÃæ»ýµÄʧЧ£¬Õâ¸öʱºòÓÖÀ´ÁËÒ»²¨ÇëÇ󣬽á¹ûÇëÇó¶¼í¡µ½Êý¾Ý¿âÉÏ£¬´Ó¶øµ¼ÖÂÊý¾Ý¿âÁ¬½ÓÒì³£¡£
½â¾ö·½°¸:
(Ò»)¸ø»º´æµÄʧЧʱ¼ä£¬¼ÓÉÏÒ»¸öËæ»úÖµ£¬±ÜÃ⼯ÌåʧЧ¡£
(¶þ)ʹÓû¥³âËø£¬µ«ÊǸ÷½°¸ÍÌÍÂÁ¿Ã÷ÏÔϽµÁË¡£
(Èý)Ë«»º´æ¡£ÎÒÃÇÓÐÁ½¸ö»º´æ£¬»º´æAºÍ»º´æB¡£»º´æAµÄʧЧʱ¼äΪ20·ÖÖÓ£¬»º´æB²»ÉèʧЧʱ¼ä¡£×Ô¼º×ö»º´æÔ¤ÈȲÙ×÷¡£È»ºóϸ·ÖÒÔϼ¸¸öСµã
I ´Ó»º´æA¶ÁÊý¾Ý¿â£¬ÓÐÔòÖ±½Ó·µ»Ø
II AûÓÐÊý¾Ý£¬Ö±½Ó´ÓB¶ÁÊý¾Ý£¬Ö±½Ó·µ»Ø£¬²¢ÇÒÒì²½Æô¶¯Ò»¸ö¸üÐÂÏ̡߳£
III ¸üÐÂÏß³Ìͬʱ¸üлº´æAºÍ»º´æB¡£
8¡¢ÈçºÎ½â¾öredisµÄ²¢·¢¾ºÕùkeyÎÊÌâ
·ÖÎö:Õâ¸öÎÊÌâ´óÖ¾ÍÊÇ£¬Í¬Ê±Óжà¸ö×ÓϵͳȥsetÒ»¸ökey¡£Õâ¸öʱºòҪעÒâÊ²Ã´ÄØ£¿´ó¼Ò˼¿¼¹ýô¡£ÐèҪ˵Ã÷һϣ¬²©Ö÷Ìáǰ°Ù¶ÈÁËһϣ¬·¢Ïִ𰸻ù±¾¶¼ÊÇÍÆ¼öÓÃredisÊÂÎñ»úÖÆ¡£²©Ö÷²»ÍƼöʹÓÃredisµÄÊÂÎñ»úÖÆ¡£ÒòΪÎÒÃǵÄÉú²ú»·¾³£¬»ù±¾¶¼ÊÇredis¼¯Èº»·¾³£¬×öÁËÊý¾Ý·ÖƬ²Ù×÷¡£ÄãÒ»¸öÊÂÎñÖÐÓÐÉæ¼°µ½¶à¸ökey²Ù×÷µÄʱºò£¬Õâ¶à¸ökey²»Ò»¶¨¶¼´æ´¢ÔÚͬһ¸öredis-serverÉÏ¡£Òò´Ë£¬redisµÄÊÂÎñ»úÖÆ£¬Ê®·Ö¼¦Àß¡£
»Ø´ð:ÈçÏÂËùʾ
(1)Èç¹û¶ÔÕâ¸ökey²Ù×÷£¬²»ÒªÇó˳Ðò
ÕâÖÖÇé¿öÏ£¬×¼±¸Ò»¸ö·Ö²¼Ê½Ëø£¬´ó¼ÒÈ¥ÇÀËø£¬ÇÀµ½Ëø¾Í×öset²Ù×÷¼´¿É£¬±È½Ï¼òµ¥¡£
(2)Èç¹û¶ÔÕâ¸ökey²Ù×÷£¬ÒªÇó˳Ðò
¼ÙÉèÓÐÒ»¸ökey1,ϵͳAÐèÒª½«key1ÉèÖÃΪvalueA,ϵͳBÐèÒª½«key1ÉèÖÃΪvalueB,ϵͳCÐèÒª½«key1ÉèÖÃΪvalueC.
ÆÚÍû°´ÕÕkey1µÄvalueÖµ°´ÕÕ valueA-->valueB-->valueCµÄ˳Ðò±ä»¯¡£ÕâÖÖʱºòÎÒÃÇÔÚÊý¾ÝдÈëÊý¾Ý¿âµÄʱºò£¬ÐèÒª±£´æÒ»¸öʱ¼ä´Á¡£¼ÙÉèʱ¼ä´ÁÈçÏÂ
ϵͳA key 1 {valueA 3:00}
ϵͳB key 1 {valueB 3:05}
ϵͳC key 1 {valueC 3:10}
ÄÇô£¬¼ÙÉèÕâ»áϵͳBÏÈÇÀµ½Ëø£¬½«key1ÉèÖÃΪ{valueB 3:05}¡£½ÓÏÂÀ´ÏµÍ³AÇÀµ½Ëø£¬·¢ÏÖ×Ô¼ºµÄvalueAµÄʱ¼ä´ÁÔçÓÚ»º´æÖеÄʱ¼ä´Á£¬ÄǾͲ»×öset²Ù×÷ÁË¡£ÒÔ´ËÀàÍÆ¡£
ÆäËû·½·¨£¬±ÈÈçÀûÓöÓÁУ¬½«set·½·¨±ä³É´®ÐзÃÎÊÒ²¿ÉÒÔ¡£×ÜÖ®£¬Áé»î±äͨ¡£
9 ×ܽá
±¾ÎĶÔredisµÄ³£¼ûÎÊÌâ×öÁËÒ»¸ö×ܽᡣ´ó²¿·ÖÊDz©Ö÷×Ô¼ºÔÚ¹¤×÷ÖÐÓöµ½£¬ÒÔ¼°ÒÔÇ°ÃæÊÔ±ðÈ˵Äʱºò£¬°®ÎʵÄһЩÎÊÌâ¡£ÁíÍ⣬²»ÍƼö´ó¼ÒÁÙʱ±§·ð½Å£¬ÕæÕýÅöµ½Ò»Ð©ÓоÑéµÄ¹¤³Ìʦ£¬Æäʵ¼¸Ï¾ÍÄܰÑÄãÎÊã¡£×îºó£¬Ï£Íû´ó¼ÒÓÐËùÊÕ»ñ°É¡£ |