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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
RedisÔ­Àí¼°Ê¹ÓÃ
 
  4696  次浏览      45
 2018-3-16
 
±à¼­ÍƼö:
±¾ÎÄÀ´×ÔÓÚcsdn,±¾ÎļòÒªµÄ½éÉÜÁËRedisÔ­Àí£¬ÌØµãÒÔ¼°Ê¹Óã¬Ï£Íû¶ÔÄãµÄѧϰÓаïÖú¡£

1.Ô­Àí½éÉÜ

£¨1£©Ê²Ã´ÊÇredis?

Redis ÊÇÒ»¸ö»ùÓÚÄÚ´æµÄ¸ßÐÔÄÜkey-valueÊý¾Ý¿â¡£ (ÓпÕÔÙ²¹³ä£¬ÓÐÀí½â´íÎó»ò²»×ã»¶Ó­Ö¸Õý)

£¨2£©ReidsµÄÌØµã

Redis±¾ÖÊÉÏÊÇÒ»¸öKey-ValueÀàÐ͵ÄÄÚ´æÊý¾Ý¿â£¬ºÜÏñmemcached£¬Õû¸öÊý¾Ý¿âͳͳ¼ÓÔØÔÚÄÚ´æµ±ÖнøÐвÙ×÷£¬¶¨ÆÚͨ¹ýÒì²½²Ù×÷°ÑÊý¾Ý¿âÊý¾Ýflushµ½Ó²ÅÌÉϽøÐб£´æ¡£ÒòΪÊÇ´¿ÄÚ´æ²Ù×÷£¬RedisµÄÐÔÄܷdz£³öÉ«£¬Ã¿Ãë¿ÉÒÔ´¦Àí³¬¹ý 10Íò´Î¶Áд²Ù×÷£¬ÊÇÒÑÖªÐÔÄÜ×î¿ìµÄKey-Value DB¡£

RedisµÄ³öɫ֮´¦²»½ö½öÊÇÐÔÄÜ£¬Redis×î´óµÄ÷ÈÁ¦ÊÇÖ§³Ö±£´æ¶àÖÖÊý¾Ý½á¹¹£¬´ËÍâµ¥¸övalueµÄ×î´óÏÞÖÆÊÇ1GB£¬²»Ïñ memcachedÖ»Äܱ£´æ1MBµÄÊý¾Ý£¬Òò´ËRedis¿ÉÒÔÓÃÀ´ÊµÏֺܶàÓÐÓõŦÄÜ£¬±È·½ËµÓÃËûµÄListÀ´×öFIFOË«ÏòÁ´±í£¬ÊµÏÖÒ»¸öÇáÁ¿¼¶µÄ¸ßÐÔ ÄÜÏûÏ¢¶ÓÁзþÎñ£¬ÓÃËûµÄSet¿ÉÒÔ×ö¸ßÐÔÄܵÄtagϵͳµÈµÈ¡£ÁíÍâRedisÒ²¿ÉÒÔ¶Ô´æÈëµÄKey-ValueÉèÖÃexpireʱ¼ä£¬Òò´ËÒ²¿ÉÒÔ±»µ±×÷Ò» ¸ö¹¦ÄܼÓÇ¿°æµÄmemcachedÀ´Óá£

RedisµÄÖ÷ҪȱµãÊÇÊý¾Ý¿âÈÝÁ¿Êܵ½ÎïÀíÄÚ´æµÄÏÞÖÆ£¬²»ÄÜÓÃ×÷º£Á¿Êý¾ÝµÄ¸ßÐÔÄܶÁд£¬Òò´ËRedisÊʺϵij¡¾°Ö÷Òª¾ÖÏÞÔÚ½ÏСÊý¾ÝÁ¿µÄ¸ßÐÔÄܲÙ×÷ºÍÔËËãÉÏ¡£

£¨3£©RedisÖ§³ÖµÄÊý¾ÝÀàÐÍ

Redisͨ¹ýKey-ValueµÄµ¥Öµ²»Í¬ÀàÐÍÀ´Çø·Ö, ÒÔÏÂÊÇÖ§³ÖµÄÀàÐÍ:

Strings

Lists

Sets Çó½»¼¯¡¢²¢¼¯

Sorted Set

hashes

£¨4£©ÎªÊ²Ã´redisÐèÒª°ÑËùÓÐÊý¾Ý·Åµ½ÄÚ´æÖУ¿

RedisΪÁË´ïµ½×î¿ìµÄ¶ÁдËٶȽ«Êý¾Ý¶¼¶Áµ½ÄÚ´æÖУ¬²¢Í¨¹ýÒì²½µÄ·½Ê½½«Êý¾ÝдÈë´ÅÅÌ¡£ËùÒÔredis¾ßÓпìËÙºÍÊý¾Ý³Ö¾Ã»¯µÄÌØÕ÷¡£Èç¹û²»½«Êý¾Ý·ÅÔÚÄÚ´æÖУ¬´ÅÅÌI/OËÙ¶ÈΪÑÏÖØÓ°ÏìredisµÄÐÔÄÜ¡£ÔÚÄÚ´æÔ½À´Ô½±ãÒ˵ĽñÌ죬redis½«»áÔ½À´Ô½ÊÜ»¶Ó­¡£

Èç¹ûÉèÖÃÁË×î´óʹÓõÄÄڴ棬ÔòÊý¾ÝÒÑÓмǼÊý´ïµ½ÄÚ´æÏÞÖµºó²»ÄܼÌÐø²åÈëÐÂÖµ¡£

£¨5£©RedisÊǵ¥½ø³Ìµ¥Ï̵߳Ä

redisÀûÓöÓÁм¼Êõ½«²¢·¢·ÃÎʱäΪ´®ÐзÃÎÊ£¬Ïû³ýÁË´«Í³Êý¾Ý¿â´®ÐпØÖƵĿªÏú

£¨6£©ÐéÄâÄÚ´æ

µ±ÄãµÄkeyºÜС¶øvalueºÜ´óʱ,ʹÓÃVMµÄЧ¹û»á±È½ÏºÃ.ÒòΪÕâÑù½ÚÔ¼µÄÄÚ´æ±È½Ï´ó.

µ±ÄãµÄkey²»Ð¡Ê±,¿ÉÒÔ¿¼ÂÇʹÓÃһЩ·Ç³£·½·¨½«ºÜ´óµÄkey±ä³ÉºÜ´óµÄvalue,±ÈÈçÄã¿ÉÒÔ¿¼Âǽ«key,value×éºÏ³ÉÒ»¸öеÄvalue.

vm-max-threadsÕâ¸ö²ÎÊý,¿ÉÒÔÉèÖ÷ÃÎÊswapÎļþµÄÏß³ÌÊý,ÉèÖÃ×îºÃ²»Òª³¬¹ý»úÆ÷µÄºËÊý,Èç¹ûÉèÖÃΪ0,ÄÇôËùÓжÔswapÎļþµÄ²Ù×÷¶¼ÊÇ´®ÐеÄ.¿ÉÄÜ»áÔì³É±È½Ï³¤Ê±¼äµÄÑÓ³Ù,µ«ÊǶÔÊý¾ÝÍêÕûÐÔÓкܺõı£Ö¤.

×Ô¼º²âÊÔµÄʱºò·¢ÏÖÓÃÐéÄâÄÚ´æÐÔÄÜÒ²²»´í¡£Èç¹ûÊý¾ÝÁ¿ºÜ´ó£¬¿ÉÒÔ¿¼ÂÇ·Ö²¼Ê½»òÕ߯äËûÊý¾Ý¿â

£¨7£©·Ö²¼Ê½

redisÖ§³ÖÖ÷´ÓµÄģʽ¡£Ô­Ôò£ºMaster»á½«Êý¾Ýͬ²½µ½slave£¬¶øslave²»»á½«Êý¾Ýͬ²½µ½master¡£SlaveÆô¶¯Ê±»áÁ¬½ÓmasterÀ´Í¬²½Êý¾Ý¡£

ÕâÊÇÒ»¸öµäÐ͵ķֲ¼Ê½¶Áд·ÖÀëÄ£ÐÍ¡£ÎÒÃÇ¿ÉÒÔÀûÓÃmasterÀ´²åÈëÊý¾Ý£¬slaveÌṩ¼ìË÷·þÎñ¡£ÕâÑù¿ÉÒÔÓÐЧ¼õÉÙµ¥¸ö»úÆ÷µÄ²¢·¢·ÃÎÊÊý¾Ý

£¨8£©¶Áд·ÖÀëÄ£ÐÍ

ͨ¹ýÔö¼ÓSlave DBµÄÊýÁ¿£¬¶ÁµÄÐÔÄÜ¿ÉÒÔÏßÐÔÔö³¤¡£ÎªÁ˱ÜÃâMaster DBµÄµ¥µã¹ÊÕÏ£¬¼¯ÈºÒ»°ã¶¼»á²ÉÓÃÁ½Ì¨Master DB×öË«»úÈȱ¸£¬ËùÒÔÕû¸ö¼¯ÈºµÄ¶ÁºÍдµÄ¿ÉÓÃÐÔ¶¼·Ç³£¸ß¡£

¶Áд·ÖÀë¼Ü¹¹µÄȱÏÝÔÚÓÚ£¬²»¹ÜÊÇMaster»¹ÊÇSlave£¬Ã¿¸ö½Úµã¶¼±ØÐë±£´æÍêÕûµÄÊý¾Ý£¬Èç¹ûÔÚÊý¾ÝÁ¿ºÜ´óµÄÇé¿öÏ£¬¼¯ÈºµÄÀ©Õ¹ÄÜÁ¦»¹ÊÇÊÜÏÞÓÚµ¥¸ö½ÚµãµÄ´æ´¢ÄÜÁ¦£¬¶øÇÒ¶ÔÓÚWrite-intensiveÀàÐ͵ÄÓ¦Ó㬶Áд·ÖÀë¼Ü¹¹²¢²»Êʺϡ£

£¨9£©Êý¾Ý·ÖƬģÐÍ

ΪÁ˽â¾ö¶Áд·ÖÀëÄ£Ð͵ÄȱÏÝ£¬¿ÉÒÔ½«Êý¾Ý·ÖƬģÐÍÓ¦ÓýøÀ´¡£

¿ÉÒÔ½«Ã¿¸ö½Úµã¿´³É¶¼ÊǶÀÁ¢µÄmaster£¬È»ºóͨ¹ýÒµÎñʵÏÖÊý¾Ý·ÖƬ¡£

½áºÏÉÏÃæÁ½ÖÖÄ£ÐÍ£¬¿ÉÒÔ½«Ã¿¸ömasterÉè¼Æ³ÉÓÉÒ»¸ömasterºÍ¶à¸öslave×é³ÉµÄÄ£ÐÍ¡£

£¨10£©RedisµÄ»ØÊÕ²ßÂÔ

1.volatile-lru£º´ÓÒÑÉèÖùýÆÚʱ¼äµÄÊý¾Ý¼¯£¨server.db[i].expires£©ÖÐÌôÑ¡×î½ü×îÉÙʹÓõÄÊý¾ÝÌÔÌ­

2.volatile-ttl£º´ÓÒÑÉèÖùýÆÚʱ¼äµÄÊý¾Ý¼¯£¨server.db[i].expires£©ÖÐÌôÑ¡½«Òª¹ýÆÚµÄÊý¾ÝÌÔÌ­

3.volatile-random£º´ÓÒÑÉèÖùýÆÚʱ¼äµÄÊý¾Ý¼¯£¨server.db[i].expires£©ÖÐÈÎÒâÑ¡ÔñÊý¾ÝÌÔÌ­

4.allkeys-lru£º´ÓÊý¾Ý¼¯£¨server.db[i].dict£©ÖÐÌôÑ¡×î½ü×îÉÙʹÓõÄÊý¾ÝÌÔÌ­

5.allkeys-random£º´ÓÊý¾Ý¼¯£¨server.db[i].dict£©ÖÐÈÎÒâÑ¡ÔñÊý¾ÝÌÔÌ­

6.no-enviction£¨ÇýÖ𣩣º½ûÖ¹ÇýÖðÊý¾Ý

1. ʹÓÃRedisÓÐÄÄЩºÃ´¦£¿

(1) Ëٶȿ죬ÒòΪÊý¾Ý´æÔÚÄÚ´æÖУ¬ÀàËÆÓÚHashMap£¬HashMapµÄÓÅÊÆ¾ÍÊDzéÕҺͲÙ×÷µÄʱ¼ä¸´ÔӶȶ¼ÊÇO(1)

(2) Ö§³Ö·á¸»Êý¾ÝÀàÐÍ£¬Ö§³Östring£¬list£¬set£¬sorted set£¬hash

(3) Ö§³ÖÊÂÎñ£¬²Ù×÷¶¼ÊÇÔ­×ÓÐÔ£¬ËùνµÄÔ­×ÓÐÔ¾ÍÊǶÔÊý¾ÝµÄ¸ü¸ÄҪôȫ²¿Ö´ÐУ¬ÒªÃ´È«²¿²»Ö´ÐÐ

(4) ·á¸»µÄÌØÐÔ£º¿ÉÓÃÓÚ»º´æ£¬ÏûÏ¢£¬°´keyÉèÖùýÆÚʱ¼ä£¬¹ýÆÚºó½«»á×Ô¶¯É¾³ý

2. redisÏà±ÈmemcachedÓÐÄÄЩÓÅÊÆ£¿

(1) memcachedËùÓеÄÖµ¾ùÊǼòµ¥µÄ×Ö·û´®£¬redis×÷ΪÆäÌæ´úÕߣ¬Ö§³Ö¸üΪ·á¸»µÄÊý¾ÝÀàÐÍ

(2) redisµÄËٶȱÈmemcached¿ìºÜ¶à

(3) redis¿ÉÒԳ־û¯ÆäÊý¾Ý

3. redis³£¼ûÐÔÄÜÎÊÌâºÍ½â¾ö·½°¸£º

(1) Master×îºÃ²»Òª×öÈκγ־û¯¹¤×÷£¬ÈçRDBÄÚ´æ¿ìÕÕºÍAOFÈÕÖ¾Îļþ

(2) Èç¹ûÊý¾Ý±È½ÏÖØÒª£¬Ä³¸öSlave¿ªÆôAOF±¸·ÝÊý¾Ý£¬²ßÂÔÉèÖÃΪÿÃëͬ²½Ò»´Î

(3) ΪÁËÖ÷´Ó¸´ÖƵÄËٶȺÍÁ¬½ÓµÄÎȶ¨ÐÔ£¬MasterºÍSlave×îºÃÔÚͬһ¸ö¾ÖÓòÍøÄÚ

(4) ¾¡Á¿±ÜÃâÔÚѹÁ¦ºÜ´óµÄÖ÷¿âÉÏÔö¼Ó´Ó¿â

(5) Ö÷´Ó¸´ÖƲ»ÒªÓÃͼ״½á¹¹£¬Óõ¥ÏòÁ´±í½á¹¹¸üΪÎȶ¨£¬¼´£ºMaster <- Slave1 <- Slave2 <- Slave3...

ÕâÑùµÄ½á¹¹·½±ã½â¾öµ¥µã¹ÊÕÏÎÊÌ⣬ʵÏÖSlave¶ÔMasterµÄÌæ»»¡£Èç¹ûMaster¹ÒÁË£¬¿ÉÒÔÁ¢¿ÌÆôÓÃSlave1×öMaster£¬ÆäËû²»±ä¡£

4. MySQLÀïÓÐ2000wÊý¾Ý£¬redisÖÐÖ»´æ20wµÄÊý¾Ý£¬ÈçºÎ±£Ö¤redisÖеÄÊý¾Ý¶¼ÊÇÈȵãÊý¾Ý

Ïà¹ØÖªÊ¶£ºredis ÄÚ´æÊý¾Ý¼¯´óСÉÏÉýµ½Ò»¶¨´óСµÄʱºò£¬¾Í»áÊ©ÐÐÊý¾ÝÌÔÌ­²ßÂÔ¡£redis Ìṩ 6ÖÖÊý¾ÝÌÔÌ­²ßÂÔ£º

voltile-lru£º´ÓÒÑÉèÖùýÆÚʱ¼äµÄÊý¾Ý¼¯£¨server.db[i].expires£©ÖÐÌôÑ¡×î½ü×îÉÙʹÓõÄÊý¾ÝÌÔÌ­

volatile-ttl£º´ÓÒÑÉèÖùýÆÚʱ¼äµÄÊý¾Ý¼¯£¨server.db[i].expires£©ÖÐÌôÑ¡½«Òª¹ýÆÚµÄÊý¾ÝÌÔÌ­

volatile-random£º´ÓÒÑÉèÖùýÆÚʱ¼äµÄÊý¾Ý¼¯£¨server.db[i].expires£©ÖÐÈÎÒâÑ¡ÔñÊý¾ÝÌÔÌ­

allkeys-lru£º´ÓÊý¾Ý¼¯£¨server.db[i].dict£©ÖÐÌôÑ¡×î½ü×îÉÙʹÓõÄÊý¾ÝÌÔÌ­

allkeys-random£º´ÓÊý¾Ý¼¯£¨server.db[i].dict£©ÖÐÈÎÒâÑ¡ÔñÊý¾ÝÌÔÌ­

no-enviction£¨ÇýÖ𣩣º½ûÖ¹ÇýÖðÊý¾Ý

5. MemcacheÓëRedisµÄÇø±ð¶¼ÓÐÄÄЩ£¿

1)¡¢´æ´¢·½Ê½

Memecache°ÑÊý¾ÝÈ«²¿´æÔÚÄÚ´æÖ®ÖУ¬¶Ïµçºó»á¹Òµô£¬Êý¾Ý²»Äܳ¬¹ýÄÚ´æ´óС¡£

RedisÓв¿·Ý´æÔÚÓ²ÅÌÉÏ£¬ÕâÑùÄܱ£Ö¤Êý¾ÝµÄ³Ö¾ÃÐÔ¡£

2)¡¢Êý¾ÝÖ§³ÖÀàÐÍ

Memcache¶ÔÊý¾ÝÀàÐÍÖ§³ÖÏà¶Ô¼òµ¥¡£

RedisÓи´ÔÓµÄÊý¾ÝÀàÐÍ¡£

3)¡¢Ê¹ÓõײãÄ£ÐͲ»Í¬

ËüÃÇÖ®¼äµ×²ãʵÏÖ·½Ê½ ÒÔ¼°Óë¿Í»§¶ËÖ®¼äͨÐŵÄÓ¦ÓÃЭÒé²»Ò»Ñù¡£

RedisÖ±½Ó×Ô¼º¹¹½¨ÁËVM »úÖÆ £¬ÒòΪһ°ãµÄϵͳµ÷ÓÃϵͳº¯ÊýµÄ»°£¬»áÀË·ÑÒ»¶¨µÄʱ¼äÈ¥ÒÆ¶¯ºÍÇëÇó¡£

4£©£¬value´óС

redis×î´ó¿ÉÒÔ´ïµ½1GB£¬¶ømemcacheÖ»ÓÐ1MB

6. Redis ³£¼ûµÄÐÔÄÜÎÊÌâ¶¼ÓÐÄÄЩ£¿ÈçºÎ½â¾ö£¿

1).MasterдÄÚ´æ¿ìÕÕ£¬saveÃüÁîµ÷¶ÈrdbSaveº¯Êý£¬»á×èÈûÖ÷Ï̵߳Ť×÷£¬µ±¿ìÕձȽϴóʱ¶ÔÐÔÄÜÓ°ÏìÊǷdz£´óµÄ£¬»á¼ä¶ÏÐÔÔÝÍ£·þÎñ£¬ËùÒÔMaster×îºÃ²»ÒªÐ´ÄÚ´æ¿ìÕÕ¡£

2).Master AOF³Ö¾Ã»¯£¬Èç¹û²»ÖØÐ´AOFÎļþ£¬Õâ¸ö³Ö¾Ã»¯·½Ê½¶ÔÐÔÄܵÄÓ°ÏìÊÇ×îСµÄ£¬µ«ÊÇAOFÎļþ»á²»¶ÏÔö´ó£¬AOFÎļþ¹ý´ó»áÓ°ÏìMasterÖØÆôµÄ»Ö¸´ËÙ¶È¡£Master×îºÃ²»Òª×öÈκγ־û¯¹¤×÷£¬°üÀ¨ÄÚ´æ¿ìÕÕºÍAOFÈÕÖ¾Îļþ£¬ÌرðÊDz»ÒªÆôÓÃÄÚ´æ¿ìÕÕ×ö³Ö¾Ã»¯,Èç¹ûÊý¾Ý±È½Ï¹Ø¼ü£¬Ä³¸öSlave¿ªÆôAOF±¸·ÝÊý¾Ý£¬²ßÂÔΪÿÃëͬ²½Ò»´Î¡£

3).Masterµ÷ÓÃBGREWRITEAOFÖØÐ´AOFÎļþ£¬AOFÔÚÖØÐ´µÄʱºò»áÕ¼´óÁ¿µÄCPUºÍÄÚ´æ×ÊÔ´£¬µ¼Ö·þÎñload¹ý¸ß£¬³öÏÖ¶ÌÔÝ·þÎñÔÝÍ£ÏÖÏó¡£

4). RedisÖ÷´Ó¸´ÖƵÄÐÔÄÜÎÊÌ⣬ΪÁËÖ÷´Ó¸´ÖƵÄËٶȺÍÁ¬½ÓµÄÎȶ¨ÐÔ£¬SlaveºÍMaster×îºÃÔÚͬһ¸ö¾ÖÓòÍøÄÚ

7, redis ×îÊʺϵij¡¾°

Redis×îÊʺÏËùÓÐÊý¾Ýin-momoryµÄ³¡¾°£¬ËäÈ»RedisÒ²Ìṩ³Ö¾Ã»¯¹¦ÄÜ£¬µ«Êµ¼Ê¸ü¶àµÄÊÇÒ»¸ödisk-backedµÄ¹¦ÄÜ£¬¸ú´«Í³ÒâÒåÉϵij־û¯ÓбȽϴóµÄ²î±ð£¬ÄÇô¿ÉÄÜ´ó¼Ò¾Í»áÓÐÒÉÎÊ£¬ËƺõRedis¸üÏñÒ»¸ö¼ÓÇ¿°æµÄMemcached£¬ÄÇôºÎʱʹÓÃMemcached,ºÎʱʹÓÃRedisÄØ?

Èç¹û¼òµ¥µØ±È½ÏRedisÓëMemcachedµÄÇø±ð£¬´ó¶àÊý¶¼»áµÃµ½ÒÔϹ۵㣺

1 ¡¢Redis²»½ö½öÖ§³Ö¼òµ¥µÄk/vÀàÐ͵ÄÊý¾Ý£¬Í¬Ê±»¹Ìṩlist£¬set£¬zset£¬hashµÈÊý¾Ý½á¹¹µÄ´æ´¢¡£

2 ¡¢RedisÖ§³ÖÊý¾ÝµÄ±¸·Ý£¬¼´master-slaveģʽµÄÊý¾Ý±¸·Ý¡£

3 ¡¢RedisÖ§³ÖÊý¾ÝµÄ³Ö¾Ã»¯£¬¿ÉÒÔ½«ÄÚ´æÖеÄÊý¾Ý±£³ÖÔÚ´ÅÅÌÖУ¬ÖØÆôµÄʱºò¿ÉÒÔÔٴμÓÔØ½øÐÐʹÓá£

£¨1£©¡¢»á»°»º´æ£¨Session Cache£©

×î³£ÓõÄÒ»ÖÖʹÓÃRedisµÄÇé¾°ÊǻỰ»º´æ£¨session cache£©¡£ÓÃRedis»º´æ»á»°±ÈÆäËû´æ´¢£¨ÈçMemcached£©µÄÓÅÊÆÔÚÓÚ£ºRedisÌṩ³Ö¾Ã»¯¡£µ±Î¬»¤Ò»¸ö²»ÊÇÑϸñÒªÇóÒ»ÖÂÐԵĻº´æÊ±£¬Èç¹ûÓû§µÄ¹ºÎï³µÐÅϢȫ²¿¶ªÊ§£¬´ó²¿·ÖÈ˶¼»á²»¸ßÐ˵ģ¬ÏÖÔÚ£¬ËûÃÇ»¹»áÕâÑùÂð£¿

ÐÒÔ˵ÄÊÇ£¬Ëæ×Å Redis ÕâЩÄêµÄ¸Ä½ø£¬ºÜÈÝÒ×ÕÒµ½Ôõôǡµ±µÄʹÓÃRedisÀ´»º´æ»á»°µÄÎĵµ¡£ÉõÖÁ¹ãΪÈËÖªµÄÉÌҵƽ̨MagentoÒ²ÌṩRedisµÄ²å¼þ¡£

£¨2£©¡¢È«Ò³»º´æ£¨FPC£©

³ý»ù±¾µÄ»á»°tokenÖ®Í⣬Redis»¹ÌṩºÜ¼ò±ãµÄFPCƽ̨¡£»Øµ½Ò»ÖÂÐÔÎÊÌ⣬¼´Ê¹ÖØÆôÁËRedisʵÀý£¬ÒòΪÓдÅÅ̵ij־û¯£¬Óû§Ò²²»»á¿´µ½Ò³Ãæ¼ÓÔØËٶȵÄϽµ£¬ÕâÊÇÒ»¸ö¼«´ó¸Ä½ø£¬ÀàËÆPHP±¾µØFPC¡£

ÔÙ´ÎÒÔMagentoΪÀý£¬MagentoÌṩһ¸ö²å¼þÀ´Ê¹ÓÃRedis×÷Ϊȫҳ»º´æºó¶Ë¡£

´ËÍ⣬¶ÔWordPressµÄÓû§À´Ëµ£¬PantheonÓÐÒ»¸ö·Ç³£ºÃµÄ²å¼þ wp-redis£¬Õâ¸ö²å¼þÄܰïÖúÄãÒÔ×î¿ìËٶȼÓÔØÄãÔøä¯ÀÀ¹ýµÄÒ³Ãæ¡£

£¨3£©¡¢¶ÓÁÐ

ReidsÔÚÄÚ´æ´æ´¢ÒýÇæÁìÓòµÄÒ»´óÓŵãÊÇÌṩ list ºÍ set ²Ù×÷£¬ÕâʹµÃRedisÄÜ×÷Ϊһ¸öºÜºÃµÄÏûÏ¢¶ÓÁÐÆ½Ì¨À´Ê¹Óá£Redis×÷Ϊ¶ÓÁÐʹÓõIJÙ×÷£¬¾ÍÀàËÆÓÚ±¾µØ³ÌÐòÓïÑÔ£¨ÈçPython£©¶Ô list µÄ push/pop ²Ù×÷¡£

Èç¹ûÄã¿ìËÙµÄÔÚGoogleÖÐËÑË÷¡°Redis queues¡±£¬ÄãÂíÉϾÍÄÜÕÒµ½´óÁ¿µÄ¿ªÔ´ÏîÄ¿£¬ÕâЩÏîÄ¿µÄÄ¿µÄ¾ÍÊÇÀûÓÃRedis´´½¨·Ç³£ºÃµÄºó¶Ë¹¤¾ß£¬ÒÔÂú×ã¸÷ÖÖ¶ÓÁÐÐèÇó¡£ÀýÈ磬CeleryÓÐÒ»¸öºǫ́¾ÍÊÇʹÓÃRedis×÷Ϊbroker£¬Äã¿ÉÒÔ´ÓÕâÀïÈ¥²é¿´¡£

£¨4£©£¬ÅÅÐаñ/¼ÆÊýÆ÷

RedisÔÚÄÚ´æÖжÔÊý×Ö½øÐеÝÔö»òµÝ¼õµÄ²Ù×÷ʵÏֵķdz£ºÃ¡£¼¯ºÏ£¨Set£©ºÍÓÐÐò¼¯ºÏ£¨Sorted Set£©Ò²Ê¹µÃÎÒÃÇÔÚÖ´ÐÐÕâЩ²Ù×÷µÄʱºò±äµÄ·Ç³£¼òµ¥£¬RedisÖ»ÊÇÕýºÃÌṩÁËÕâÁ½ÖÖÊý¾Ý½á¹¹¡£ËùÒÔ£¬ÎÒÃÇÒª´ÓÅÅÐò¼¯ºÏÖлñÈ¡µ½ÅÅÃû×ǰµÄ10¸öÓû§¨CÎÒÃdzÆÖ®Îª¡°user_scores¡±£¬ÎÒÃÇÖ»ÐèÒªÏñÏÂÃæÒ»ÑùÖ´Ðм´¿É£º

µ±È»£¬ÕâÊǼٶ¨ÄãÊǸù¾ÝÄãÓû§µÄ·ÖÊý×öµÝÔöµÄÅÅÐò¡£Èç¹ûÄãÏë·µ»ØÓû§¼°Óû§µÄ·ÖÊý£¬ÄãÐèÒªÕâÑùÖ´ÐУº

ZRANGE user_scores 0 10 WITHSCORES

Agora Games¾ÍÊÇÒ»¸öºÜºÃµÄÀý×Ó£¬ÓÃRubyʵÏֵģ¬ËüµÄÅÅÐаñ¾ÍÊÇʹÓÃRedisÀ´´æ´¢Êý¾ÝµÄ£¬Äã¿ÉÒÔÔÚÕâÀï¿´µ½¡£

£¨5£©¡¢·¢²¼/¶©ÔÄ

×îºó£¨µ«¿Ï¶¨²»ÊÇ×î²»ÖØÒªµÄ£©ÊÇRedisµÄ·¢²¼/¶©ÔŦÄÜ¡£·¢²¼/¶©ÔĵÄʹÓ󡾰ȷʵ·Ç³£¶à¡£ÎÒÒÑ¿´¼ûÈËÃÇÔÚÉç½»ÍøÂçÁ¬½ÓÖÐʹÓ㬻¹¿É×÷Ϊ»ùÓÚ·¢²¼/¶©ÔĵĽű¾´¥·¢Æ÷£¬ÉõÖÁÓÃRedisµÄ·¢²¼/¶©ÔŦÄÜÀ´½¨Á¢ÁÄÌìϵͳ£¡£¨²»£¬ÕâÊÇÕæµÄ£¬Äã¿ÉÒÔÈ¥ºËʵ£©¡£

RedisÌṩµÄËùÓÐÌØÐÔÖУ¬ÎҸоõÕâ¸öÊÇϲ»¶µÄÈË×îÉÙµÄÒ»¸ö£¬ËäÈ»ËüΪÓû§ÌṩÈç¹û´Ë¶à¹¦ÄÜ¡£

2.ʹÓÃredis¼ÆÊýÆ÷·ÀÖ¹²¢·¢ÇëÇó

ÐèÇóÃèÊö

×î½üÏîÄ¿ÖÐÓиöÐèÇ󣬶ÌÐÅ·¢Ë͵IJ¢·¢ÇëÇóÎÊÌ⣺ҵÎñÐèÇóÊÇÐèÒªÏÞÖÆÒ»¸öºÅÂëÒ»·ÖÖÓÄÚÖ»ÄÜ»ñȡһ´ÎËæ»úÂ룬֮ǰµÄʵÏÖÊǶÌÐÅ·¢ËÍÇëÇó¹ýÀ´ºó£¬ÏÈÈ¥Êý¾Ý¿â²éѯ·¢ËͼǼ£¬¸ù¾ÝÉÏÒ»´ÎµÄ¶ÌÐÅ·¢ËÍʱ¼äºÍµ±Ç°Ê±¼ä±È½Ï£¬Èç¹ûʱ¼ä²îСÓÚÒ»·ÖÖÓ£¬ÔòÌáʾ¶ÌÐÅ»ñȡƵ·±£¬Èç¹û³¬¹ýÒ»·ÖÖÓ£¬Ôò·¢ËͶÌÐÅ£¬²¢¼Ç¼¶ÌÐÅ·¢ËÍÈÕÖ¾¡£

ÎÊÌâ·ÖÎö

¶ÌÐÅ·¢ËÍÊÇÒ»¸öºÜÃô¸ÐµÄÒµÎñ£¬ÉÏÃæµÄʵÏÖ´æÔÚÒ»¸ö²¢·¢ÇëÇóµÄÎÊÌ⣬µ±Í¬Ò»Ê±¼äÓкܶàÇëÇó¹ýÀ´Ê±£¬Í¬Ê±È¥²é¿â£¬Í¬Ê±»ñÈ¡µ½ÉÏÒ»´Î·¢ËÍʱ¼äûÓУ¬»òÕßÒѳ¬¹ýÒ»·ÖÖÓ£¬Õâʱºò¾Í»áÖØ¸´·¢ËͶÌÐÅÁË¡£

ʹÓÃRedis incr½â¾öÎÊÌâ

Redis incr ¿ÉÒÔʵÏÖÔ­×ÓÐԵĵÝÔö£¬¿ÉÓ¦ÓÃÓڸ߲¢·¢µÄÃëɱ»î¶¯¡¢·Ö²¼Ê½ÐòÁкÅÉú³ÉµÈ³¡¾°¡£ÕâÀïÎÒʹÓÃËüÀ´¼ÆÊýʵÏÖÒ»·ÖÖÓÄÚÖ»½ÓÊÜÒ»´ÎÇëÇó¡£

ʵÏÖÂß¼­Ò²ºÜ¼òµ¥£ºÎÒÃÇÔÚ½Óµ½¶ÌÐÅ·¢ËÍÇëÇóºó£¬Ê¹ÓÃRedisµÄincrÉèÖÃÒ»¸öµÝÔöKEY£¨KEYÓɹ̶¨×Ö·û´®+ÊÖ»úºÅÂë×é³É£©£¬²¢ÅжϸÃKEYµÄÊýÖµ£¬Èç¹ûµÈÓÚ1£¬ËµÃ÷ÊǵÚÒ»¸öÇëÇó£¬ÎÒÃǽ«¸ÃKEYÖµÓÐЧÆÚÉèÖÃΪһ·ÖÖÓ£»Èç¹û¸ÃKEYµÄÊýÖµ´óÓÚ1£¬ËµÃ÷ÊÇ1·ÖÖÓÄڵĶà´ÎÇëÇó£¬ÕâʱÎÒÃÇÖ±½Ó·µ»Ø¶ÌÐÅ»ñȡƵ·±£¬´úÂëÈçÏ£º

String redisKey = "SMS_LIMIT_" + smsPhone;
long count = redisTemplate.opsForValue().increment(redisKey, 1);
if (count == 1) {
//ÉèÖÃÓÐЧÆÚÒ»·ÖÖÓ
redisTemplate.expire(redisKey, 60, TimeUnit.SECONDS);
}
if (count > 1) {
resultMap.put("retCode", "-1");
resultMap.put("retMsg", "ÿ·ÖÖÓÖ»ÄÜ·¢ËÍÒ»´Î¶ÌÐÅ");
outPrintJson(resultMap);
return;
}
/** ·¢ËͶÌÐÅ */
......
/** ¼Ç¼·¢ËÍÈÕÖ¾ */
......

Ïà¹ØÎÄÕÂ

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

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

Êý¾ÝÖÎÀí¡¢Êý¾Ý¼Ü¹¹¼°Êý¾Ý±ê×¼
MongoDBʵս¿Î³Ì
²¢·¢¡¢´óÈÝÁ¿¡¢¸ßÐÔÄÜÊý¾Ý¿âÉè¼ÆÓëÓÅ»¯
PostgreSQLÊý¾Ý¿âʵսÅàѵ
   
4696 ´Îä¯ÀÀ       45