×ðÁú¿­Ê±¹ÙÍøµÇ¼

LinuxÔËάÐèÒªÖªµÀµÄRedisÂÄÀú

Redis ÔÚÄ¿½ñµÄÊÖÒÕÉçÇøÀïÊǺÜÊÇÈÈÃŵÄ¡£ÀúÀ´×Ô Antirez Ò»¸öССµÄСÎÒ˽ÈËÏîÄ¿µ½³ÉΪÄÚ´æÊý¾Ý´æ´¢ÐÐÒµµÄ±ê×¼£¬RedisÒѾ­×ß¹ýÁ˺ܳ¤µÄÒ»¶Î·¡£ËæÖ®¶øÀ´µÄһϵÁÐ×î¼Ñʵ¼ù£¬Ê¹µÃ´ó´ó¶¼ÈË¿ÉÒÔ׼ȷµØʹÓà Redis¡£

ÏÂÃæÎÒÃǽ«Ì½Ë÷׼ȷʹÓà Redis µÄ10¸öÂÄÀú¡£

1¡¢×èֹʹÓà KEYS *

Okay£¬ÒÔÌôÕ½Õâ¸öÏÂÁî×îÏÈÕâƪÎÄÕ£¬»òÐí²¢²»ÊÇÒ»¸öºÃµÄ·½·¨£¬µ«Æäȷʵ¿ÉÄÜÊÇ×îÖ÷ÒªµÄÒ»µã¡£Ðí¶àʱ¼äµ±ÎÒÃǹØ×¢Ò»¸öredisʵÀýµÄͳ¼ÆÊý¾Ý£¬ÎÒÃÇ»á¿ìËÙµØÊäÈ롱KEYS *¡±ÏÂÁÕâÑùkeyµÄÐÅÏ¢»áºÜÏÔ×ŵØչʾ³öÀ´¡£Æ½ÐĶøÂÛ£¬´Ó³ÌÐò»¯µÄ½Ç¶È³ö·¢ÍùÍùÇãÏòÓÚд³öÏÂÃæÕâÑùµÄα´úÂ룺

for key in'keys *':
doAllTheThings()¡¡

µÇ¼ºó¸´ÖÆ

¿ÉÊǵ±ÄãÓÐ1300Íò¸ökeyʱ£¬Ö´ÐÐËÙÂʽ«»á±äÂý¡£ÓÉÓÚKEYSÏÂÁîµÄʱ¼äÖØƯºóÊÇO(n)£¬ÆäÖÐnÊÇÒª·µ»ØµÄkeysµÄ¸öÊý£¬ÕâÑùÕâ¸öÏÂÁîµÄÖØƯºó¾ÍÈ¡¾öÓÚÊý¾Ý¿âµÄ¾ÞϸÁË¡£²¢ÇÒÔÚÕâ¸ö²Ù×÷Ö´ÐÐʱ´ú£¬ÆäËüÈκÎÏÂÁîÔÚÄãµÄʵÀýÖж¼ÎÞ·¨Ö´ÐС£

×÷Ϊһ¸öÌæ»»ÏÂÁ¿´Ò»Ï SCAN °É£¬ÆäÔÊÐíÄãÒÔÒ»ÖÖ¸üÓѺõķ½·¨À´Ö´ÐС­ SCAN ͨ¹ýÔöÁ¿µü´úµÄ·½·¨À´É¨ÃèÊý¾Ý¿â¡£ÕâÒ»²Ù×÷»ùÓÚÓαêµÄµü´úÆ÷À´Íê³ÉµÄ£¬Òò´ËÖ»ÒªÄãÒÔΪºÏÊÊ£¬Äã¿ÉÒÔËæʱ×èÖ¹»ò¼ÌÐø¡£

2¡¢ÕÒ³öÍÏÂý Redis µÄ×ï¿ý×ï¿ý

ÓÉÓÚ Redis ûÓкÜÊÇÏêϸµÄÈÕÖ¾£¬ÒªÏëÖªµÀÔÚ Redis ʵÀýÄÚ²¿¶¼×öÁËЩʲôÊǺÜÊÇÄÑÌâµÄ¡£ÐÒÔ˵ÄÊÇ Redis ÌṩÁËÒ»¸öÏÂÃæÕâÑùµÄÏÂÁîͳ¼Æ¹¤¾ß£º

127.0.0.1:6379> INFO commandstats

# Commandstats

cmdstat_get:calls=78,usec=608,usec_per_call=7.79

cmdstat_setex:calls=5,usec=71,usec_per_call=14.20

cmdstat_keys:calls=2,usec=42,usec_per_call=21.00

cmdstat_info:calls=10,usec=1931,usec_per_call=193.10

µÇ¼ºó¸´ÖÆ

ͨ¹ýÕâ¸ö¹¤¾ß¿ÉÒÔÉó²éËùÓÐÏÂÁîͳ¼ÆµÄ¿ìÕÕ£¬ºÃ±ÈÏÂÁîÖ´ÐÐÁ˼¸¶à´Î£¬Ö´ÐÐÏÂÁîËùãýÃðµÄºÁÃëÊý(ÿ¸öÏÂÁîµÄ×Üʱ¼äÇå¾²¾ùʱ¼ä) Ö»ÐèÒª¼òÆÓµØÖ´ÐÐ CONFIG RESETSTAT ÏÂÁî¾Í¿ÉÒÔÖØÖã¬ÕâÑùÄã¾Í¿ÉÒÔ»ñµÃÒ»¸öȫеÄͳ¼ÆЧ¹û¡£

3¡¢½« Redis-Benchmark Ч¹û×÷Ϊ²Î¿¼£¬¶ø²»ÒªÒ»¸Å¶øÂÛ

Redis Ö®¸¸ Salvatore ¾Í˵¹ý£º¡°Í¨¹ýÖ´ÐÐGET/SETÏÂÁîÀ´²âÊÔRedis¾ÍÏñÔÚÓêÌì¼ì²â·¨À­ÀûµÄÓêË¢Çå½à¾µ×ÓµÄЧ¹û¡±¡£Ðí¶àʱ¼äÈËÃÇÅܵ½ÎÒÕâÀËûÃÇÏëÖªµÀΪʲô×Ô¼ºµÄRedis-Benchmarkͳ¼ÆµÄЧ¹ûµÍÓÚ×îÓÅЧ¹û ¡£µ«ÎÒÃDZØÐèÒª°ÑÖݪֲî±ðµÄÕæÕæÏàÐÎ˼Á¿½øÀ´£¬ÀýÈ磺

¿ÉÄÜÊܵ½ÄÄЩ¿Í»§¶ËÔËÐÐÇéÐεÄÏÞÖÆ£¿

ÊÇͳһ¸ö°æ±¾ºÅÂð£¿

²âÊÔÇéÐÎÖеÄÌåÏÖÓëÓ¦Óý«ÒªÔËÐеÄÇéÐÎÊÇ·ñÒ»Ö£¿

Redis-BenchmarkµÄ²âÊÔЧ¹ûÌṩÁËÒ»¸ö°ü¹ÜÄãµÄ Redis-Server ²»»áÔËÐÐÔÚ·ÇÕý³£×´Ì¬ÏµĻù×¼µã£¬¿ÉÊÇÄãÓÀÔ¶²»Òª°ÑËü×÷Ϊһ¸öÕæʵµÄ¡°Ñ¹Á¦²âÊÔ¡±¡£Ñ¹Á¦²âÊÔÐèÒª·´Ó¦³öÓ¦ÓõÄÔËÐз½·¨£¬²¢ÇÒÐèÒªÒ»¸ö¾¡¿ÉÄܵĺÍÉú²úÏàËƵÄÇéÐΡ£

4¡¢Hashes ÊÇÄãµÄ×î¼ÑÑ¡Ôñ

ÒÔÒ»ÖÖÓÅÑŵķ½·¨ÒýÈë hashes °É¡£hashes ½«»á´ø¸øÄãÒ»ÖÖب¹ÅδÓеÄÌåÑ顣֮ǰÎÒÔø¿´µ½¹ýÐí¶àÀàËÆÓÚÏÂÃæÕâÑùµÄkey½á¹¹£º

foo:first_name

foo:last_name

foo:address

µÇ¼ºó¸´ÖÆ

ÉÏÃæµÄÀý×ÓÖУ¬foo ¿ÉÄÜÊÇÒ»¸öÓû§µÄÓû§Ãû£¬ÆäÖеÄÿһÏÊÇÒ»¸öµ¥¶ÀµÄ key¡£Õâ¾ÍÔöÌíÁË ³ö´íµÄ¿Õ¼ä£¬ºÍһЩ²»ÐëÒªµÄ key¡£Ê¹Óà hash È¡´ú°É£¬Äã»á¾ªÑȵط¢Ã÷¾¹È»Ö»ÐèÒªÒ»¸ö key £º

127.0.0.1:6379> HSET foo first_name 'Joe'

(integer) 1

127.0.0.1:6379> HSET foo last_name 'Engel'

(integer) 1

127.0.0.1:6379> HSET foo address '1 Fanatical Pl'

(integer) 1

127.0.0.1:6379> HGETALL foo

1) 'first_name'

2) 'Joe'

3) 'last_name'

4) 'Engel'

5) 'address'

6) '1 Fanatical Pl'

127.0.0.1:6379> HGET foo first_name

'Joe'

µÇ¼ºó¸´ÖÆ

5¡¢ÉèÖà key ÖµµÄ´æ»îʱ¼ä

ÎÞÂÛʲôʱ¼ä£¬Ö»ÒªÓпÉÄܾÍʹÓÃkey³¬Ê±µÄÓÅÊÆ¡£Ò»¸öºÜºÃµÄÀý×Ó¾ÍÊÇÖü´æһЩÖîÈçÔÝʱÈÏÖ¤keyÖ®ÀàµÄ¹¤¾ß¡£µ±ÄãÈ¥²éÕÒÒ»¸öÊÚȨkeyʱ¡ª¡ªÒÔOAUTHΪÀý¡ª¡ªÍ¨³£»á»ñµÃÒ»¸ö³¬Ê±Ê±¼ä¡£ÕâÑùÔÚÉèÖÃkeyµÄʱ¼ä£¬Éè³ÉͬÑùµÄ³¬Ê±Ê±¼ä£¬Redis¾Í»á×Ô¶¯ÎªÄãɨ³ý£¡¶ø²»ÔÙÐèҪʹÓÃKEYS *À´±éÀúËùÓеÄkeyÁË£¬ÔõôÑùºÜÀû±ã°É£¿

6¡¢ Ñ¡ÔñºÏÊʵĽÓÄÉÕ½ÂÔ

¼ÈȻ̸µ½ÁËɨ³ýkeyÕâ¸ö»°Ì⣬ÄÇÎÒÃǾÍÀ´ÁÄÁĽÓÄÉÕ½ÂÔ¡£µ± Redis µÄʵÀý¿Õ¼ä±»ÌîÂúÁËÖ®ºó£¬½«»áʵÑé½ÓÄÉÒ»²¿·Ökey¡£Æ¾Ö¤ÄãµÄʹÓ÷½·¨£¬ÎÒÇ¿ÁÒ½¨ÒéʹÓà volatile-lru Õ½ÂÔ¡ª¡ªÌõ¼þÊÇÄã¶ÔkeyÒѾ­ÉèÖÃÁ˳¬Ê±¡£µ«ÈôÊÇÄãÔËÐеÄÊÇһЩÀàËÆÓÚ cache µÄ¹¤¾ß£¬²¢ÇÒûÓÐ¶Ô key ÉèÖó¬Ê±»úÖÆ£¬¿ÉÒÔ˼Á¿Ê¹Óà allkeys-lru ½ÓÄÉ»úÖÆ¡£ÎҵĽ¨ÒéÊÇÏÈÔÚÕâÀïÉó²éһϿÉÐеļƻ®¡£

7¡¢ÈôÊÇÄãµÄÊý¾ÝºÜÖ÷Òª£¬ÇëʹÓà Try/Except

ÈôÊDZØÐèÈ·±£Òªº¦ÐÔµÄÊý¾Ý¿ÉÒÔ±»·ÅÈëµ½ Redis µÄʵÀýÖУ¬ÎÒÇ¿ÁÒ½¨Ò齫Æä·ÅÈë try/except ¿éÖС£ÏÕЩËùÓеÄRedis¿Í»§¶Ë½ÓÄɵĶ¼ÊÇ¡°·¢Ëͼ´Íü¡±Õ½ÂÔ£¬Òò´Ë¾­³£ÐèҪ˼Á¿Ò»¸ö key ÊÇ·ñÕæÕý±»·Åµ½ Redis Êý¾Ý¿âÖÐÁË¡£ÖÁÓÚ½« try/expect ·Åµ½ Redis ÏÂÁîÖеÄÖØ´óÐÔ²¢²»ÊDZ¾ÎÄÒª½²µÄ£¬ÄãÖ»ÐèÒªÖªµÀÕâÑù×ö¿ÉÒÔÈ·±£Ö÷ÒªµÄÊý¾Ý·Åµ½¸Ã·ÅµÄµØ·½¾Í¿ÉÒÔÁË¡£

8¡¢²»ÒªºÄ¾¡Ò»¸öʵÀý

ÎÞÂÛʲôʱ¼ä£¬Ö»ÒªÓпÉÄܾÍÊèÉ¢¶àredisʵÀýµÄÊÂÇéÁ¿¡£´Ó3.0.0°æ±¾×îÏÈ£¬Redis¾ÍÖ§³Ö¼¯ÈºÁË¡£Redis¼¯ÈºÔÊÐíÄã»ùÓÚkey¹æÄ£ÊèÉ¢³ö²¿·Ö°üÀ¨Ö÷/´ÓģʽµÄkey¡£ÍêÕûµÄ¼¯Èº±³ºóµÄ¡°Ð°Êõ¡±¿ÉÒÔÔÚÕâÀïÕÒµ½¡£µ«ÈôÊÇÄãÊÇÔÚÕҽ̳Ì£¬ÄÇÕâÀïÊÇÒ»¸öÔÙÊʺϲ»¹ýµÄµØ·½ÁË¡£ÈôÊDz»¿ÉÑ¡Ôñ¼¯Èº£¬Ë¼Á¿Ò»ÏÂÃüÃû¿Õ¼ä°É£¬È»ºó½«ÄãµÄkeyÊèÉ¢µ½¶à¸öʵÀýÖ®ÖС£¹ØÓÚÔõÑù·ÖÅÉÊý¾Ý£¬ÔÚredis.ioÍøÕ¾ÉÏÓÐÕâƪ¾«²ÊµÄ̸ÂÛ¡£

9¡¢ÄÚºËÔ½¶àÔ½ºÃÂ𣿣¡

ËäÈ»ÊÇ´íµÄ¡£Redis ÊÇÒ»¸öµ¥Ïß³ÌÀú³Ì£¬×ÝÈ»ÆôÓÃÁ˳¤ÆÚ»¯×î¶àÒ²Ö»»áÏûºÄÁ½¸öÄںˡ£³ý·ÇÄãÍýÏëÔÚһ̨Ö÷»úÉÏÔËÐжà¸öʵÀý¡ª¡ªÏ£ÍûÖ»»áÊÇÔÚ¿ª·¢²âÊÔµÄÇéÐÎÏ£¡¡ª¡ª²»È»µÄ»°¹ØÓÚÒ»¸ö Redis ʵÀýÊDz»ÐèÒª2¸öÒÔÉÏÄں˵Ä¡£

10¡¢¸ß¿ÉÓÃ

µ½ÏÖÔÚΪֹ Redis Sentinel ÒѾ­¾­ÓÉÁ˺ÜÖÜÈ«µÄ²âÊÔ£¬Ðí¶àÓû§ÒѾ­½«ÆäÓ¦Óõ½ÁËÉú²úÇéÐÎÖУ¨°üÀ¨ ObjectRocket £©¡£ÈôÊÇÄãµÄÓ¦ÓÃÖضÈÒÀÀµÓÚ Redis £¬ÄǾÍÐèÒªÏë³öÒ»¸ö¸ß¿ÉÓüƻ®À´°ü¹ÜÆä²»»áµôÏß¡£ËäÈ»£¬ÈôÊDz»Ïë×Ô¼ºÖÎÀíÕâЩ¹¤¾ß£¬ObjectRocket ÌṩÁËÒ»¸ö¸ß¿ÉÓÃƽ̨£¬²¢Ìṩ7¡Á24СʱµÄÊÖÒÕÖ§³Ö£¬ÓÐÒâÏòµÄ»°¿ÉÒÔ˼Á¿Ò»Ï¡£

ÒÔÉϾÍÊÇLinuxÔËάÐèÒªÖªµÀµÄRedisÂÄÀúµÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡

ÃâÔð˵Ã÷£ºÒÔÉÏչʾÄÚÈÝȪԴÓÚÏàÖúýÌå¡¢ÆóÒµ»ú¹¹¡¢ÍøÓÑÌṩ»òÍøÂçÍøÂçÕûÀí£¬°æȨÕùÒéÓë±¾Õ¾Î޹أ¬ÎÄÕÂÉæ¼°¿´·¨Óë¿´·¨²»´ú±í×ðÁú¿­Ê±¹ÙÍøµÇ¼ÂËÓÍ»úÍø¹Ù·½Ì¬¶È£¬Çë¶ÁÕß½ö×ö²Î¿¼¡£±¾ÎĽӴýתÔØ£¬×ªÔØÇë˵Ã÷À´ÓÉ¡£ÈôÄúÒÔΪ±¾ÎÄÇÖÕ¼ÁËÄúµÄ°æȨÐÅÏ¢£¬»òÄú·¢Ã÷¸ÃÄÚÈÝÓÐÈκÎÉæ¼°ÓÐÎ¥¹«µÂ¡¢Ã°·¸Ö´·¨µÈÎ¥·¨ÐÅÏ¢£¬ÇëÄúÁ¬Ã¦ÁªÏµ×ðÁú¿­Ê±¹ÙÍøµÇ¼ʵʱÐÞÕý»òɾ³ý¡£

Ïà¹ØÐÂÎÅ

ÁªÏµ×ðÁú¿­Ê±¹ÙÍøµÇ¼

18523999891

¿É΢ÐÅÔÚÏß×Éѯ

ÊÂÇéʱ¼ä£ºÖÜÒ»ÖÁÖÜÎ壬9:30-18:30£¬½ÚãåÈÕÐÝÏ¢

QR code
ÍøÕ¾µØͼ