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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
³¬Ç¿¡¢³¬ÏêϸRedisÊý¾Ý¿âÈëÃŽ̳Ì
 
À´Ô´£º½Å±¾Ö®¼Ò ·¢²¼ÓÚ£º 2017-7-11
  3114  次浏览      32
 

¡¾redisÊÇʲô¡¿

redisÊÇÒ»¸ö¿ªÔ´µÄ¡¢Ê¹ÓÃCÓïÑÔ±àдµÄ¡¢Ö§³ÖÍøÂç½»»¥µÄ¡¢¿É»ùÓÚÄÚ´æÒ²¿É³Ö¾Ã»¯µÄKey-ValueÊý¾Ý¿â¡£

redisµÄ¹ÙÍøµØÖ·£¬·Ç³£ºÃ¼Ç£¬ÊÇredis.io¡££¨ÌØÒâ²éÁËһϣ¬ÓòÃûºó׺ioÊôÓÚ¹ú¼ÒÓòÃû£¬ÊÇbritish Indian Ocean territory£¬¼´Ó¢ÊôÓ¡¶ÈÑóÁìµØ£©

Ŀǰ£¬VmwareÔÚ×ÊÖú×ÅredisÏîÄ¿µÄ¿ª·¢ºÍά»¤¡£

¡¾redisµÄ×÷ÕߺÎÐíÈËÒ²¡¿

¿ªÃżûɽ£¬ÏÈ¿´ÕÕÆ¬£º

ÊDz»ÊdzöºõÁËÄãµÄÒâÁÏ£¬àÅ£¬¸ßÊÖ×Ü»áÓÐЩµØ·½ÓëÖÚ²»Í¬µÄ¡£

Õâλ±ãÊÇredisµÄ×÷Õߣ¬Ëû½ÐSalvatore Sanfilippo£¬À´×ÔÒâ´óÀûµÄÎ÷Î÷Àﵺ£¬ÏÖÔÚ¾ÓסÔÚ¿¨ËþÄáÑÇ¡£Ä¿Ç°¹©Ö°ÓÚPivotal¹«Ë¾¡£

ËûʹÓõÄÍøÃûÊÇantirez£¬Èç¹ûÄãÓÐÐËȤ£¬¿ÉÒÔÈ¥ËûµÄ²©¿Í¹ä¹ä£¬µØÖ·ÊÇantirez.com£¬µ±È»Ò²¿ÉÒÔÈ¥followËûµÄgithub£¬µØÖ·ÊÇhttp://github.com/antirez¡£

¡¾Ë­ÔÚʹÓÃredis¡¿

Blizzard¡¢digg¡¢stackoverflow¡¢github¡¢flickr ¡­

¡¾Ñ§»á°²×°redis¡¿

´Óredis.ioÏÂÔØ×îаæredis-X.Y.Z.tar.gzºó½âѹ£¬È»ºó½øÈëredis-X.Y.ZÎļþ¼ÐºóÖ±½Ómake¼´¿É£¬°²×°·Ç³£¼òµ¥¡£

make³É¹¦ºó»áÔÚsrcÎļþ¼ÐϲúÉúһЩ¶þ½øÖÆ¿ÉÖ´ÐÐÎļþ£¬°üÀ¨redis-server¡¢redis-cliµÈµÈ£º

$ find . -type f -executable
./redis-benchmark //ÓÃÓÚ½øÐÐredisÐÔÄܲâÊԵŤ¾ß
./redis-check-dump //ÓÃÓÚÐÞ¸´³öÎÊÌâµÄdump.rdbÎļþ
./redis-cli //redisµÄ¿Í»§¶Ë
./redis-server //redisµÄ·þÎñ¶Ë
./redis-check-aof //ÓÃÓÚÐÞ¸´³öÎÊÌâµÄAOFÎļþ
./redis-sentinel //ÓÃÓÚ¼¯Èº¹ÜÀí

¡¾Ñ§»áÆô¶¯redis¡¿

Æô¶¯redis·Ç³£¼òµ¥£¬Ö±½Ó./redis-server¾Í¿ÉÒÔÆô¶¯·þÎñ¶ËÁË£¬»¹¿ÉÒÔÓÃÏÂÃæµÄ·½·¨Ö¸¶¨Òª¼ÓÔØµÄÅäÖÃÎļþ£º

./redis-server ../redis.conf

ĬÈÏÇé¿öÏ£¬redis-server»áÒÔ·ÇdaemonµÄ·½Ê½À´ÔËÐУ¬ÇÒĬÈÏ·þÎñ¶Ë¿ÚΪ6379¡£

ÓйØ×÷ÕßΪʲôѡÔñ6379×÷ΪĬÈ϶˿ڣ¬»¹ÓÐÒ»¶ÎÓÐȤµÄµä¹Ê£¬Ó¢ÓïºÃµÄͬѧ¿ÉÒÔ¿´¿´×÷ÕßÕâÆª²©ÎÄÖеĽâÊÍ¡£

¡¾Ê¹ÓÃredis¿Í»§¶Ë¡¿

ÎÒÃÇÖ±½Ó¿´Ò»¸öÀý×Ó£º

//ÕâÑùÀ´Æô¶¯redis¿Í»§¶ËÁË
$ ./redis-cli
//ÓÃsetÖ¸ÁîÀ´ÉèÖÃkey¡¢value
127.0.0.1:6379> set name "roc"
OK
//À´»ñÈ¡nameµÄÖµ
127.0.0.1:6379> get name
"roc"
//ͨ¹ý¿Í»§¶ËÀ´¹Ø±Õredis·þÎñ¶Ë
127.0.0.1:6379> shutdown
127.0.0.1:6379>

¡¾redisÊý¾Ý½á¹¹ ¨C ¼ò½é¡¿

redisÊÇÒ»Öָ߼¶µÄkey:value´æ´¢ÏµÍ³£¬ÆäÖÐvalueÖ§³ÖÎåÖÖÊý¾ÝÀàÐÍ£º

1.×Ö·û´®£¨strings£©

2.×Ö·û´®ÁÐ±í£¨lists£©

3.×Ö·û´®¼¯ºÏ£¨sets£©

4.ÓÐÐò×Ö·û´®¼¯ºÏ£¨sorted sets£©

5.¹þÏ££¨hashes£©

¶ø¹ØÓÚkey£¬Óм¸¸öµãÒªÌáÐÑ´ó¼Ò£º

1.key²»ÒªÌ«³¤£¬¾¡Á¿²»Òª³¬¹ý1024×Ö½Ú£¬Õâ²»½öÏûºÄÄڴ棬¶øÇһήµÍ²éÕÒµÄЧÂÊ£»

2.keyÒ²²»ÒªÌ«¶Ì£¬Ì«¶ÌµÄ»°£¬keyµÄ¿É¶ÁÐԻήµÍ£»

3.ÔÚÒ»¸öÏîÄ¿ÖУ¬key×îºÃʹÓÃͳһµÄÃüÃûģʽ£¬ÀýÈçuser:10000:passwd¡£

¡¾redisÊý¾Ý½á¹¹ ¨C strings¡¿

ÓÐÈË˵£¬Èç¹ûֻʹÓÃredisÖеÄ×Ö·û´®ÀàÐÍ£¬ÇÒ²»Ê¹ÓÃredisµÄ³Ö¾Ã»¯¹¦ÄÜ£¬ÄÇô£¬redis¾ÍºÍmemcache·Ç³£·Ç³£µÄÏñÁË¡£Õâ˵Ã÷stringsÀàÐÍÊÇÒ»¸öºÜ»ù´¡µÄÊý¾ÝÀàÐÍ£¬Ò²ÊÇÈκδ洢ϵͳ¶¼±Ø±¸µÄÊý¾ÝÀàÐÍ¡£

ÎÒÃÇÀ´¿´Ò»¸ö×î¼òµ¥µÄÀý×Ó£º


set mystr "hello world!" //ÉèÖÃ×Ö·û´®ÀàÐÍ
get mystr //¶ÁÈ¡×Ö·û´®ÀàÐÍ

×Ö·û´®ÀàÐ͵ÄÓ÷¨¾ÍÊÇÕâô¼òµ¥£¬ÒòΪÊǶþ½øÖư²È«µÄ£¬ËùÒÔÄãÍêÈ«¿ÉÒÔ°ÑÒ»¸öͼƬÎļþµÄÄÚÈÝ×÷Ϊ×Ö·û´®À´´æ´¢¡£

ÁíÍ⣬ÎÒÃÇ»¹¿ÉÒÔͨ¹ý×Ö·û´®ÀàÐͽøÐÐÊýÖµ²Ù×÷£º

127.0.0.1:6379> set mynum "2"
OK
127.0.0.1:6379> get mynum
"2"
127.0.0.1:6379> incr mynum
(integer) 3
127.0.0.1:6379> get mynum
"3"

¿´£¬ÔÚÓöµ½ÊýÖµ²Ù×÷ʱ£¬redis»á½«×Ö·û´®ÀàÐÍת»»³ÉÊýÖµ¡£

ÓÉÓÚINCRµÈÖ¸Áî±¾Éí¾Í¾ßÓÐÔ­×Ó²Ù×÷µÄÌØÐÔ£¬ËùÒÔÎÒÃÇÍêÈ«¿ÉÒÔÀûÓÃredisµÄINCR¡¢INCRBY¡¢DECR¡¢DECRBYµÈÖ¸ÁîÀ´ÊµÏÖÔ­×Ó¼ÆÊýµÄЧ¹û£¬¼ÙÈ磬ÔÚijÖÖ³¡¾°ÏÂÓÐ3¸ö¿Í»§¶Ëͬʱ¶ÁÈ¡ÁËmynumµÄÖµ£¨ÖµÎª2£©£¬È»ºó¶ÔÆäͬʱ½øÐÐÁ˼Ó1µÄ²Ù×÷£¬ÄÇô£¬×îºómynumµÄÖµÒ»¶¨ÊÇ5¡£²»ÉÙÍøÕ¾¶¼ÀûÓÃredisµÄÕâ¸öÌØÐÔÀ´ÊµÏÖÒµÎñÉϵÄͳ¼Æ¼ÆÊýÐèÇó¡£

¡¾redisÊý¾Ý½á¹¹ ¨C lists¡¿

redisµÄÁíÒ»¸öÖØÒªµÄÊý¾Ý½á¹¹½Ð×ölists£¬·­Òë³ÉÖÐÎĽÐ×ö¡°ÁÐ±í¡±¡£

Ê×ÏÈÒªÃ÷È·Ò»µã£¬redisÖеÄlistsÔڵײãʵÏÖÉϲ¢²»ÊÇÊý×飬¶øÊÇÁ´±í£¬Ò²¾ÍÊÇ˵¶ÔÓÚÒ»¸ö¾ßÓÐÉϰÙÍò¸öÔªËØµÄlistsÀ´Ëµ£¬ÔÚÍ·²¿ºÍβ²¿²åÈëÒ»¸öÐÂÔªËØ£¬Æäʱ¼ä¸´ÔÓ¶ÈÊdz£Êý¼¶±ðµÄ£¬±ÈÈçÓÃLPUSHÔÚ10¸öÔªËØµÄlistsÍ·²¿²åÈëÐÂÔªËØ£¬ºÍÔÚÉÏǧÍòÔªËØµÄlistsÍ·²¿²åÈëÐÂÔªËØµÄËÙ¶ÈÓ¦¸ÃÊÇÏàͬµÄ¡£

ËäÈ»listsÓÐÕâÑùµÄÓÅÊÆ£¬µ«Í¬ÑùÓÐÆä±×¶Ë£¬ÄǾÍÊÇ£¬Á´±íÐÍlistsµÄÔªËØ¶¨Î»»á±È½ÏÂý£¬¶øÊý×éÐÍlistsµÄÔªËØ¶¨Î»¾Í»á¿ìµÃ¶à¡£

listsµÄ³£ÓòÙ×÷°üÀ¨LPUSH¡¢RPUSH¡¢LRANGEµÈ¡£ÎÒÃÇ¿ÉÒÔÓÃLPUSHÔÚlistsµÄ×ó²à²åÈëÒ»¸öÐÂÔªËØ£¬ÓÃRPUSHÔÚlistsµÄÓÒ²à²åÈëÒ»¸öÐÂÔªËØ£¬ÓÃLRANGEÃüÁî´ÓlistsÖÐÖ¸

//н¨Ò»¸ölist½Ð×ömylist£¬²¢ÔÚÁбíÍ·²¿²åÈëÔªËØ"1"
127.0.0.1:6379> lpush mylist "1"
//·µ»Øµ±Ç°mylistÖеÄÔªËØ¸öÊý
(integer) 1
//ÔÚmylistÓÒ²à²åÈëÔªËØ"2"
127.0.0.1:6379> rpush mylist "2"
(integer) 2
//ÔÚmylist×ó²à²åÈëÔªËØ"0"
127.0.0.1:6379> lpush mylist "0"
(integer) 3
//ÁгömylistÖдӱàºÅ0µ½±àºÅ1µÄÔªËØ
127.0.0.1:6379> lrange mylist 0 1
1) "0"
2) "1"
//ÁгömylistÖдӱàºÅ0µ½µ¹ÊýµÚÒ»¸öÔªËØ
127.0.0.1:6379> lrange mylist 0 -1
1) "0"
2) "1"
3) "2"

¶¨Ò»¸ö·¶Î§À´ÌáÈ¡ÔªËØ¡£ÎÒÃÇÀ´¿´¼¸¸öÀý×Ó£º

listsµÄÓ¦ÓÃÏ൱¹ã·º£¬Ëæ±ã¾Ù¼¸¸öÀý×Ó£º

1.ÎÒÃÇ¿ÉÒÔÀûÓÃlistsÀ´ÊµÏÖÒ»¸öÏûÏ¢¶ÓÁУ¬¶øÇÒ¿ÉÒÔÈ·±£ÏȺó˳Ðò£¬²»±ØÏñMySQLÄÇÑù»¹ÐèҪͨ¹ýORDER BYÀ´½øÐÐÅÅÐò¡£

2.ÀûÓÃLRANGE»¹¿ÉÒԺܷ½±ãµÄʵÏÖ·ÖÒ³µÄ¹¦ÄÜ¡£

3.ÔÚ²©¿ÍϵͳÖУ¬Ã¿Æ¬²©ÎĵįÀÂÛÒ²¿ÉÒÔ´æÈëÒ»¸öµ¥¶ÀµÄlistÖС£

¡¾redisÊý¾Ý½á¹¹ ¨C ¼¯ºÏ¡¿

redisµÄ¼¯ºÏ£¬ÊÇÒ»ÖÖÎÞÐòµÄ¼¯ºÏ£¬¼¯ºÏÖеÄÔªËØÃ»ÓÐÏȺó˳Ðò¡£

¼¯ºÏÏà¹ØµÄ²Ù×÷Ò²ºÜ·á¸»£¬ÈçÌí¼ÓÐÂÔªËØ¡¢É¾³ýÒÑÓÐÔªËØ¡¢È¡½»¼¯¡¢È¡²¢¼¯¡¢È¡²î¼¯µÈ¡£ÎÒÃÇÀ´¿´Àý×Ó£º

//Ïò¼¯ºÏmysetÖмÓÈëÒ»¸öÐÂÔªËØ"one"
127.0.0.1:6379> sadd myset "one"
(integer) 1
127.0.0.1:6379> sadd myset "two"
(integer) 1
//Áгö¼¯ºÏmysetÖеÄËùÓÐÔªËØ
127.0.0.1:6379> smembers myset
1) "one"
2) "two"
//ÅжÏÔªËØ1ÊÇ·ñÔÚ¼¯ºÏmysetÖУ¬·µ»Ø1±íʾ´æÔÚ
127.0.0.1:6379> sismember myset "one"
(integer) 1
//ÅжÏÔªËØ3ÊÇ·ñÔÚ¼¯ºÏmysetÖУ¬·µ»Ø0±íʾ²»´æÔÚ
127.0.0.1:6379> sismember myset "three"
(integer) 0
//н¨Ò»¸öÐµļ¯ºÏyourset
127.0.0.1:6379> sadd yourset "1"
(integer) 1
127.0.0.1:6379> sadd yourset "2"
(integer) 1
127.0.0.1:6379> smembers yourset
1) "1"
2) "2"
//¶ÔÁ½¸ö¼¯ºÏÇó²¢¼¯
127.0.0.1:6379> sunion myset yourset
1) "1"
2) "one"
3) "2"
4) "two"

¶ÔÓÚ¼¯ºÏµÄʹÓã¬Ò²ÓÐһЩ³£¼ûµÄ·½Ê½£¬±ÈÈ磬QQÓÐÒ»¸öÉç½»¹¦ÄܽÐ×ö¡°ºÃÓѱêÇ©¡±£¬´ó¼Ò¿ÉÒÔ¸øÄãµÄºÃÓÑÌù±êÇ©£¬±ÈÈç¡°´óÃÀÅ®¡±¡¢¡°ÍÁºÀ¡±¡¢¡°Å·°Í¡±µÈµÈ£¬Õâʱ¾Í¿ÉÒÔʹÓÃredisµÄ¼¯ºÏÀ´ÊµÏÖ£¬°Ñÿһ¸öÓû§µÄ±êÇ©¶¼´æ´¢ÔÚÒ»¸ö¼¯ºÏÖ®ÖС£

¡¾redisÊý¾Ý½á¹¹ ¨C ÓÐÐò¼¯ºÏ¡¿

redis²»µ«ÌṩÁËÎÞÐ輯ºÏ£¨sets£©£¬»¹ºÜÌåÌùµÄÌṩÁËÓÐÐò¼¯ºÏ£¨sorted sets£©¡£ÓÐÐò¼¯ºÏÖеÄÿ¸öÔªËØ¶¼¹ØÁªÒ»¸öÐòºÅ£¨score£©£¬Õâ±ãÊÇÅÅÐòµÄÒÀ¾Ý¡£

ºÜ¶àʱºò£¬ÎÒÃǶ¼½«redisÖеÄÓÐÐò¼¯ºÏ½Ð×özsets£¬ÕâÊÇÒòΪÔÚredisÖУ¬ÓÐÐò¼¯ºÏÏà¹ØµÄ²Ù×÷Ö¸Áî¶¼ÊÇÒÔz¿ªÍ·µÄ£¬±ÈÈçzrange¡¢zadd¡¢zrevrange¡¢zrangebyscoreµÈµÈ

ÀÏ¹æ¾Ø£¬ÎÒÃÇÀ´¿´¼¸¸öÉú¶¯µÄÀý×Ó£º

//ÐÂÔöÒ»¸öÓÐÐò¼¯ºÏmyzset£¬²¢¼ÓÈëÒ»¸öÔªËØbaidu.com£¬¸øËü¸³ÓèµÄÐòºÅÊÇ1£º

127.0.0.1:6379> zadd myzset 1 baidu.com
(integer) 1
//ÏòmyzsetÖÐÐÂÔöÒ»¸öÔªËØ360.com£¬¸³ÓèËüµÄÐòºÅÊÇ3
127.0.0.1:6379> zadd myzset 3 360.com
(integer) 1
//ÏòmyzsetÖÐÐÂÔöÒ»¸öÔªËØgoogle.com£¬¸³ÓèËüµÄÐòºÅÊÇ2
127.0.0.1:6379> zadd myzset 2 google.com
(integer) 1
//ÁгömyzsetµÄËùÓÐÔªËØ£¬Í¬Ê±ÁгöÆäÐòºÅ£¬¿ÉÒÔ¿´³ömyzsetÒѾ­ÊÇÓÐÐòµÄÁË¡£
127.0.0.1:6379> zrange myzset 0 -1 with scores
1) "baidu.com"
2) "1"
3) "google.com"
4) "2"
5) "360.com"
6) "3"
//Ö»ÁгömyzsetµÄÔªËØ
127.0.0.1:6379> zrange myzset 0 -1
1) "baidu.com"
2) "google.com"
3) "360.com"

 

¡¾redisÊý¾Ý½á¹¹ ¨C ¹þÏ£¡¿

×îºóÒª¸ø´ó¼Ò½éÉܵÄÊÇhashes£¬¼´¹þÏ£¡£¹þÏ£ÊÇ´Óredis-2.0.0°æ±¾Ö®ºó²ÅÓеÄÊý¾Ý½á¹¹¡£

hashes´æµÄÊÇ×Ö·û´®ºÍ×Ö·û´®ÖµÖ®¼äµÄÓ³É䣬±ÈÈçÒ»¸öÓû§Òª´æ´¢ÆäÈ«Ãû¡¢ÐÕÊÏ¡¢ÄêÁäµÈµÈ£¬¾ÍºÜÊʺÏʹÓùþÏ£¡£

ÎÒÃÇÀ´¿´Ò»¸öÀý×Ó£º

//½¨Á¢¹þÏ££¬²¢¸³Öµ
127.0.0.1:6379> HMSET user:001 username antirez password P1pp0 age 34
OK
//Áгö¹þÏ£µÄÄÚÈÝ
127.0.0.1:6379> HGETALL user:001
1) "username"
2) "antirez"
3) "password"
4) "P1pp0"
5) "age"
6) "34"
//¸ü¸Ä¹þÏ£ÖеÄijһ¸öÖµ
127.0.0.1:6379> HSET user:001 password 12345
(integer) 0
//ÔÙ´ÎÁгö¹þÏ£µÄÄÚÈÝ
127.0.0.1:6379> HGETALL user:001
1) "username"
2) "antirez"
3) "password"
4) "12345"
5) "age"
6) "34"

ÓйØhashesµÄ²Ù×÷£¬Í¬ÑùºÜ·á¸»£¬ÐèҪʱ£¬´ó¼Ò¿ÉÒÔ´ÓÕâÀï²éѯ¡£

¡¾ÁÄÁÄredis³Ö¾Ã»¯ ¨C Á½ÖÖ·½Ê½¡¿

redisÌṩÁËÁ½Öֳ־û¯µÄ·½Ê½£¬·Ö±ðÊÇRDB£¨Redis DataBase£©ºÍAOF£¨Append Only File£©¡£

RDB£¬¼ò¶øÑÔÖ®£¬¾ÍÊÇÔÚ²»Í¬µÄʱ¼äµã£¬½«redis´æ´¢µÄÊý¾ÝÉú³É¿ìÕÕ²¢´æ´¢µ½´ÅÅ̵ȽéÖÊÉÏ£»

AOF£¬ÔòÊÇ»»ÁËÒ»¸ö½Ç¶ÈÀ´ÊµÏֳ־û¯£¬ÄǾÍÊǽ«redisÖ´ÐйýµÄËùÓÐдָÁî¼Ç¼ÏÂÀ´£¬ÔÚÏ´ÎredisÖØÐÂÆô¶¯Ê±£¬Ö»Òª°ÑÕâЩдָÁî´Óǰµ½ºóÔÙÖØ¸´Ö´ÐÐÒ»±é£¬¾Í¿ÉÒÔʵÏÖÊý¾Ý»Ö¸´ÁË¡£

ÆäʵRDBºÍAOFÁ½ÖÖ·½Ê½Ò²¿ÉÒÔͬʱʹÓã¬ÔÚÕâÖÖÇé¿öÏ£¬Èç¹ûredisÖØÆôµÄ»°£¬Ôò»áÓÅÏȲÉÓÃAOF·½Ê½À´½øÐÐÊý¾Ý»Ö¸´£¬ÕâÊÇÒòΪAOF·½Ê½µÄÊý¾Ý»Ö¸´ÍêÕû¶È¸ü¸ß¡£

Èç¹ûÄãûÓÐÊý¾Ý³Ö¾Ã»¯µÄÐèÇó£¬Ò²ÍêÈ«¿ÉÒԹرÕRDBºÍAOF·½Ê½£¬ÕâÑùµÄ»°£¬redis½«±ä³ÉÒ»¸ö´¿ÄÚ´æÊý¾Ý¿â£¬¾ÍÏñmemcacheÒ»Ñù¡£

¡¾ÁÄÁÄredis³Ö¾Ã»¯ ¨C RDB¡¿

RDB·½Ê½£¬Êǽ«redisijһʱ¿ÌµÄÊý¾Ý³Ö¾Ã»¯µ½´ÅÅÌÖУ¬ÊÇÒ»ÖÖ¿ìÕÕʽµÄ³Ö¾Ã»¯·½·¨¡£

redisÔÚ½øÐÐÊý¾Ý³Ö¾Ã»¯µÄ¹ý³ÌÖУ¬»áÏȽ«Êý¾ÝдÈëµ½Ò»¸öÁÙʱÎļþÖУ¬´ý³Ö¾Ã»¯¹ý³Ì¶¼½áÊøÁË£¬²Å»áÓÃÕâ¸öÁÙʱÎļþÌæ»»Éϴγ־û¯ºÃµÄÎļþ¡£ÕýÊÇÕâÖÖÌØÐÔ£¬ÈÃÎÒÃÇ¿ÉÒÔËæÊ±À´½øÐб¸·Ý£¬ÒòΪ¿ìÕÕÎļþ×ÜÊÇÍêÕû¿ÉÓõġ£

¶ÔÓÚRDB·½Ê½£¬redis»áµ¥¶À´´½¨£¨fork£©Ò»¸ö×Ó½ø³ÌÀ´½øÐг־û¯£¬¶øÖ÷½ø³ÌÊDz»»á½øÐÐÈκÎIO²Ù×÷µÄ£¬ÕâÑù¾ÍÈ·±£ÁËredis¼«¸ßµÄÐÔÄÜ¡£

Èç¹ûÐèÒª½øÐдó¹æÄ£Êý¾ÝµÄ»Ö¸´£¬ÇÒ¶ÔÓÚÊý¾Ý»Ö¸´µÄÍêÕûÐÔ²»ÊǷdz£Ãô¸Ð£¬ÄÇRDB·½Ê½Òª±ÈAOF·½Ê½¸ü¼ÓµÄ¸ßЧ¡£

ËäÈ»RDBÓв»ÉÙÓŵ㣬µ«ËüµÄȱµãÒ²ÊDz»ÈݺöÊӵġ£Èç¹ûÄã¶ÔÊý¾ÝµÄÍêÕûÐԷdz£Ãô¸Ð£¬ÄÇôRDB·½Ê½¾Í²»Ì«ÊʺÏÄ㣬ÒòΪ¼´Ê¹Äãÿ5·ÖÖÓ¶¼³Ö¾Ã»¯Ò»´Î£¬µ±redis¹ÊÕÏʱ£¬ÈÔÈ»»áÓнü5·ÖÖÓµÄÊý¾Ý¶ªÊ§¡£ËùÒÔ£¬redis»¹ÌṩÁËÁíÒ»Öֳ־û¯·½Ê½£¬ÄǾÍÊÇAOF¡£

¡¾ÁÄÁÄredis³Ö¾Ã»¯ ¨C AOF¡¿

AOF£¬Ó¢ÎÄÊÇAppend Only File£¬¼´Ö»ÔÊÐí×·¼Ó²»ÔÊÐí¸ÄдµÄÎļþ¡£

ÈçÇ°Ãæ½éÉܵģ¬AOF·½Ê½Êǽ«Ö´ÐйýµÄдָÁî¼Ç¼ÏÂÀ´£¬ÔÚÊý¾Ý»Ö¸´Ê±°´ÕÕ´Óǰµ½ºóµÄ˳ÐòÔÙ½«Ö¸Áî¶¼Ö´ÐÐÒ»±é£¬¾ÍÕâô¼òµ¥¡£

ÎÒÃÇͨ¹ýÅäÖÃredis.confÖеÄappendonly yes¾Í¿ÉÒÔ´ò¿ªAOF¹¦ÄÜ¡£Èç¹ûÓÐд²Ù×÷£¨ÈçSETµÈ£©£¬redis¾Í»á±»×·¼Óµ½AOFÎļþµÄĩβ¡£

ĬÈϵÄAOF³Ö¾Ã»¯²ßÂÔÊÇÿÃëÖÓfsyncÒ»´Î£¨fsyncÊÇÖ¸°Ñ»º´æÖеÄдָÁî¼Ç¼µ½´ÅÅÌÖУ©£¬ÒòΪÔÚÕâÖÖÇé¿öÏ£¬redisÈÔÈ»¿ÉÒÔ±£³ÖºÜºÃµÄ´¦ÀíÐÔÄÜ£¬¼´Ê¹redis¹ÊÕÏ£¬Ò²Ö»»á¶ªÊ§×î½ü1ÃëÖÓµÄÊý¾Ý¡£

Èç¹ûÔÚ×·¼ÓÈÕ־ʱ£¬Ç¡ºÃÓöµ½´ÅÅ̿ռäÂú¡¢inodeÂú»ò¶ÏµçµÈÇé¿öµ¼ÖÂÈÕ־дÈë²»ÍêÕû£¬Ò²Ã»ÓйØÏµ£¬redisÌṩÁËredis-check-aof¹¤¾ß£¬¿ÉÒÔÓÃÀ´½øÐÐÈÕÖ¾ÐÞ¸´¡£

ÒòΪ²ÉÓÃÁË×·¼Ó·½Ê½£¬Èç¹û²»×öÈκδ¦ÀíµÄ»°£¬AOFÎļþ»á±äµÃÔ½À´Ô½´ó£¬Îª´Ë£¬redisÌṩÁËAOFÎļþÖØÐ´£¨rewrite£©»úÖÆ£¬¼´µ±AOFÎļþµÄ´óС³¬¹ýËùÉ趨µÄãÐֵʱ£¬redis¾Í»áÆô¶¯AOFÎļþµÄÄÚÈÝѹËõ£¬Ö»±£Áô¿ÉÒÔ»Ö¸´Êý¾ÝµÄ×îСָÁ¡£¾Ù¸öÀý×Ó»òÐí¸üÐÎÏ󣬼ÙÈçÎÒÃǵ÷ÓÃÁË100´ÎINCRÖ¸ÁÔÚAOFÎļþÖоÍÒª´æ´¢100ÌõÖ¸Áµ«ÕâÃ÷ÏÔÊǺܵÍЧµÄ£¬ÍêÈ«¿ÉÒÔ°ÑÕâ100ÌõÖ¸ÁîºÏ²¢³ÉÒ»ÌõSETÖ¸ÁÕâ¾ÍÊÇÖØÐ´»úÖÆµÄÔ­Àí¡£

ÔÚ½øÐÐAOFÖØÐ´Ê±£¬ÈÔÈ»ÊDzÉÓÃÏÈдÁÙʱÎļþ£¬È«²¿Íê³ÉºóÔÙÌæ»»µÄÁ÷³Ì£¬ËùÒԶϵ硢´ÅÅÌÂúµÈÎÊÌâ¶¼²»»áÓ°ÏìAOFÎļþµÄ¿ÉÓÃÐÔ£¬Õâµã´ó¼Ò¿ÉÒÔ·ÅÐÄ¡£

AOF·½Ê½µÄÁíÒ»¸öºÃ´¦£¬ÎÒÃÇͨ¹ýÒ»¸ö¡°³¡¾°ÔÙÏÖ¡±À´ËµÃ÷¡£Ä³Í¬Ñ§ÔÚ²Ù×÷redisʱ£¬²»Ð¡ÐÄÖ´ÐÐÁËFLUSHALL£¬µ¼ÖÂredisÄÚ´æÖеÄÊý¾ÝÈ«²¿±»Çå¿ÕÁË£¬ÕâÊǺܱ¯¾çµÄÊÂÇé¡£²»¹ýÕâÒ²²»ÊÇÊÀ½çÄ©ÈÕ£¬Ö»ÒªredisÅäÖÃÁËAOF³Ö¾Ã»¯·½Ê½£¬ÇÒAOFÎļþ»¹Ã»Óб»ÖØÐ´£¨rewrite£©£¬ÎÒÃǾͿÉÒÔÓÃ×î¿ìµÄËÙ¶ÈÔÝÍ£redis²¢±à¼­AOFÎļþ£¬½«×îºóÒ»ÐеÄFLUSHALLÃüÁîɾ³ý£¬È»ºóÖØÆôredis£¬¾Í¿ÉÒÔ»Ö¸´redisµÄËùÓÐÊý¾Ýµ½FLUSHALL֮ǰµÄ״̬ÁË¡£ÊDz»ÊǺÜÉñÆæ£¬Õâ¾ÍÊÇAOF³Ö¾Ã»¯·½Ê½µÄºÃ´¦Ö®Ò»¡£µ«ÊÇÈç¹ûAOFÎļþÒѾ­±»ÖØÐ´ÁË£¬ÄǾÍÎÞ·¨Í¨¹ýÕâÖÖ·½·¨À´»Ö¸´Êý¾ÝÁË¡£

ËäÈ»Óŵã¶à¶à£¬µ«AOF·½Ê½Ò²Í¬Ñù´æÔÚȱÏÝ£¬±ÈÈçÔÚͬÑùÊý¾Ý¹æÄ£µÄÇé¿öÏ£¬AOFÎļþÒª±ÈRDBÎļþµÄÌå»ý´ó¡£¶øÇÒ£¬AOF·½Ê½µÄ»Ö¸´ËÙ¶ÈÒ²ÒªÂýÓÚRDB·½Ê½¡£

Èç¹ûÄãÖ±½ÓÖ´ÐÐBGREWRITEAOFÃüÁÄÇôredis»áÉú³ÉÒ»¸öȫеÄAOFÎļþ£¬ÆäÖбã°üÀ¨ÁË¿ÉÒÔ»Ö¸´ÏÖÓÐÊý¾ÝµÄ×îÉÙµÄÃüÁ¡£

Èç¹ûÔËÆø±È½Ï²î£¬AOFÎļþ³öÏÖÁ˱»Ð´»µµÄÇé¿ö£¬Ò²²»±Ø¹ý·Öµ£ÓÇ£¬redis²¢²»»áóȻ¼ÓÔØÕâ¸öÓÐÎÊÌâµÄAOFÎļþ£¬¶øÊDZ¨´íÍ˳ö¡£Õâʱ¿ÉÒÔͨ¹ýÒÔϲ½ÖèÀ´ÐÞ¸´³ö´íµÄÎļþ£º

1.±¸·Ý±»Ð´»µµÄAOFÎļþ

2.ÔËÐÐredis-check-aof ¨Cfix½øÐÐÐÞ¸´

3.ÓÃdiff -uÀ´¿´ÏÂÁ½¸öÎļþµÄ²îÒ죬ȷÈÏÎÊÌâµã

4.ÖØÆôredis£¬¼ÓÔØÐÞ¸´ºóµÄAOFÎļþ

¡¾ÁÄÁÄredis³Ö¾Ã»¯ ¨C AOFÖØÐ´¡¿

AOFÖØÐ´µÄÄÚ²¿ÔËÐÐÔ­Àí£¬ÎÒÃÇÓбØÒªÁ˽âһϡ£

ÔÚÖØÐ´¼´½«¿ªÊ¼Ö®¼Ê£¬redis»á´´½¨£¨fork£©Ò»¸ö¡°ÖØÐ´×Ó½ø³Ì¡±£¬Õâ¸ö×Ó½ø³Ì»áÊ×ÏȶÁÈ¡ÏÖÓеÄAOFÎļþ£¬²¢½«Æä°üº¬µÄÖ¸Áî½øÐзÖÎöѹËõ²¢Ð´Èëµ½Ò»¸öÁÙʱÎļþÖС£

Óë´Ëͬʱ£¬Ö÷¹¤×÷½ø³Ì»á½«Ð½ÓÊÕµ½µÄдָÁîÒ»±ßÀÛ»ýµ½Äڴ滺³åÇøÖУ¬Ò»±ß¼ÌÐøÐ´Èëµ½Ô­ÓеÄAOFÎļþÖУ¬ÕâÑù×öÊDZ£Ö¤Ô­ÓеÄAOFÎļþµÄ¿ÉÓÃÐÔ£¬±ÜÃâÔÚÖØÐ´¹ý³ÌÖгöÏÖÒâÍâ¡£

µ±¡°ÖØÐ´×Ó½ø³Ì¡±Íê³ÉÖØÐ´¹¤×÷ºó£¬Ëü»á¸ø¸¸½ø³Ì·¢Ò»¸öÐźţ¬¸¸½ø³ÌÊÕµ½Ðźźó¾Í»á½«ÄÚ´æÖлº´æµÄдָÁî×·¼Óµ½ÐÂAOFÎļþÖС£

µ±×·¼Ó½áÊøºó£¬redis¾Í»áÓÃÐÂAOFÎļþÀ´´úÌæ¾ÉAOFÎļþ£¬Ö®ºóÔÙÓÐеÄдָÁ¾Í¶¼»á×·¼Óµ½ÐµÄAOFÎļþÖÐÁË¡£

¡¾ÁÄÁÄredis³Ö¾Ã»¯ ¨C ÈçºÎÑ¡ÔñRDBºÍAOF¡¿

¶ÔÓÚÎÒÃÇÓ¦¸ÃÑ¡ÔñRDB»¹ÊÇAOF£¬¹Ù·½µÄ½¨ÒéÊÇÁ½¸öͬʱʹÓá£ÕâÑù¿ÉÒÔÌṩ¸ü¿É¿¿µÄ³Ö¾Ã»¯·½°¸¡£

¡¾ÁÄÁÄÖ÷´Ó ¨C Ó÷¨¡¿

ÏñMySQLÒ»Ñù£¬redisÊÇÖ§³ÖÖ÷´Óͬ²½µÄ£¬¶øÇÒÒ²Ö§³ÖÒ»Ö÷¶à´ÓÒÔ¼°¶à¼¶´Ó½á¹¹¡£

Ö÷´Ó½á¹¹£¬Ò»ÊÇΪÁË´¿´âµÄÈßÓ౸·Ý£¬¶þÊÇΪÁËÌáÉý¶ÁÐÔÄÜ£¬±ÈÈçºÜÏûºÄÐÔÄܵÄSORT¾Í¿ÉÒÔÓÉ´Ó·þÎñÆ÷À´³Ðµ£¡£

redisµÄÖ÷´Óͬ²½ÊÇÒì²½½øÐеģ¬ÕâÒâζ×ÅÖ÷´Óͬ²½²»»áÓ°ÏìÖ÷Âß¼­£¬Ò²²»»á½µµÍredisµÄ´¦ÀíÐÔÄÜ¡£

Ö÷´Ó¼Ü¹¹ÖУ¬¿ÉÒÔ¿¼ÂǹرÕÖ÷·þÎñÆ÷µÄÊý¾Ý³Ö¾Ã»¯¹¦ÄÜ£¬Ö»ÈôӷþÎñÆ÷½øÐг־û¯£¬ÕâÑù¿ÉÒÔÌá¸ßÖ÷·þÎñÆ÷µÄ´¦ÀíÐÔÄÜ¡£

ÔÚÖ÷´Ó¼Ü¹¹ÖУ¬´Ó·þÎñÆ÷ͨ³£±»ÉèÖÃΪֻ¶Áģʽ£¬ÕâÑù¿ÉÒÔ±ÜÃâ´Ó·þÎñÆ÷µÄÊý¾Ý±»ÎóÐ޸ġ£µ«ÊÇ´Ó·þÎñÆ÷ÈÔÈ»¿ÉÒÔ½ÓÊÜCONFIGµÈÖ¸ÁËùÒÔ»¹ÊDz»Ó¦¸Ã½«´Ó·þÎñÆ÷Ö±½Ó±©Â¶µ½²»°²È«µÄÍøÂç»·¾³ÖС£Èç¹û±ØÐëÈç´Ë£¬ÄÇ¿ÉÒÔ¿¼ÂǸøÖØÒªÖ¸Áî½øÐÐÖØÃüÃû£¬À´±ÜÃâÃüÁî±»ÍâÈËÎóÖ´ÐС£

¡¾ÁÄÁÄÖ÷´Ó ¨C ͬ²½Ô­Àí¡¿

´Ó·þÎñÆ÷»áÏòÖ÷·þÎñÆ÷·¢³öSYNCÖ¸Áµ±Ö÷·þÎñÆ÷½Óµ½´ËÃüÁîºó£¬¾Í»áµ÷ÓÃBGSAVEÖ¸ÁîÀ´´´½¨Ò»¸ö×Ó½ø³ÌרÃŽøÐÐÊý¾Ý³Ö¾Ã»¯¹¤×÷£¬Ò²¾ÍÊǽ«Ö÷·þÎñÆ÷µÄÊý¾ÝдÈëRDBÎļþÖС£ÔÚÊý¾Ý³Ö¾Ã»¯ÆÚ¼ä£¬Ö÷·þÎñÆ÷½«Ö´ÐеÄдָÁî¶¼»º´æÔÚÄÚ´æÖС£

ÔÚBGSAVEÖ¸ÁîÖ´ÐÐÍê³Éºó£¬Ö÷·þÎñÆ÷»á½«³Ö¾Ã»¯ºÃµÄRDBÎļþ·¢Ë͸ø´Ó·þÎñÆ÷£¬´Ó·þÎñÆ÷½Óµ½´ËÎļþºó»á½«Æä´æ´¢µ½´ÅÅÌÉÏ£¬È»ºóÔÙ½«Æä¶ÁÈ¡µ½ÄÚ´æÖС£Õâ¸ö¶¯×÷Íê³Éºó£¬Ö÷·þÎñÆ÷»á½«Õâ¶Îʱ¼ä»º´æµÄдָÁîÔÙÒÔredisЭÒéµÄ¸ñʽ·¢Ë͸ø´Ó·þÎñÆ÷¡£

ÁíÍ⣬Ҫ˵µÄÒ»µãÊÇ£¬¼´Ê¹Óжà¸ö´Ó·þÎñÆ÷ͬʱ·¢À´SYNCÖ¸ÁÖ÷·þÎñÆ÷Ò²Ö»»áÖ´ÐÐÒ»´ÎBGSAVE£¬È»ºó°Ñ³Ö¾Ã»¯ºÃµÄRDBÎļþ·¢¸ø¶à¸öÏÂÓΡ£ÔÚredis2.8°æ±¾Ö®Ç°£¬Èç¹û´Ó·þÎñÆ÷ÓëÖ÷·þÎñÆ÷ÒòijЩԭÒò¶Ï¿ªÁ¬½ÓµÄ»°£¬¶¼»á½øÐÐÒ»´ÎÖ÷´ÓÖ®¼äµÄÈ«Á¿µÄÊý¾Ýͬ²½£»¶øÔÚ2.8°æ±¾Ö®ºó£¬redisÖ§³ÖÁËЧÂʸü¸ßµÄÔöÁ¿Í¬²½²ßÂÔ£¬Õâ´ó´ó½µµÍÁËÁ¬½Ó¶Ï¿ªµÄ»Ö¸´³É±¾¡£

Ö÷·þÎñÆ÷»áÔÚÄÚ´æÖÐά»¤Ò»¸ö»º³åÇø£¬»º³åÇøÖд洢׎«Òª·¢¸ø´Ó·þÎñÆ÷µÄÄÚÈÝ¡£´Ó·þÎñÆ÷ÔÚÓëÖ÷·þÎñÆ÷³öÏÖÍøÂç˲¶ÏÖ®ºó£¬´Ó·þÎñÆ÷»á³¢ÊÔÔÙ´ÎÓëÖ÷·þÎñÆ÷Á¬½Ó£¬Ò»µ©Á¬½Ó³É¹¦£¬´Ó·þÎñÆ÷¾Í»á°Ñ¡°Ï£Íûͬ²½µÄÖ÷·þÎñÆ÷ID¡±ºÍ¡°Ï£ÍûÇëÇóµÄÊý¾ÝµÄÆ«ÒÆÎ»Öã¨replication offset£©¡±·¢ËͳöÈ¥¡£Ö÷·þÎñÆ÷½ÓÊÕµ½ÕâÑùµÄͬ²½ÇëÇóºó£¬Ê×ÏÈ»áÑéÖ¤Ö÷·þÎñÆ÷IDÊÇ·ñºÍ×Ô¼ºµÄIDÆ¥Å䣬Æä´Î»á¼ì²é¡°ÇëÇóµÄÆ«ÒÆÎ»Öá±ÊÇ·ñ´æÔÚÓÚ×Ô¼ºµÄ»º³åÇøÖУ¬Èç¹ûÁ½Õß¶¼Âú×ãµÄ»°£¬Ö÷·þÎñÆ÷¾Í»áÏò´Ó·þÎñÆ÷·¢ËÍÔöÁ¿ÄÚÈÝ¡£

ÔöÁ¿Í¬²½¹¦ÄÜ£¬ÐèÒª·þÎñÆ÷¶ËÖ§³ÖȫеÄPSYNCÖ¸Áî¡£Õâ¸öÖ¸ÁֻÓÐÔÚredis-2.8Ö®ºó²Å¾ßÓС£

¡¾ÁÄÁÄredisµÄÊÂÎñ´¦Àí¡¿

ÖÚËùÖÜÖª£¬ÊÂÎñÊÇÖ¸¡°Ò»¸öÍêÕûµÄ¶¯×÷£¬ÒªÃ´È«²¿Ö´ÐУ¬ÒªÃ´Ê²Ã´Ò²Ã»ÓÐ×ö¡±¡£

ÔÚÁÄredisÊÂÎñ´¦Àí֮ǰ£¬ÒªÏȺʹó¼Ò½éÉÜËĸöredisÖ¸Á¼´MULTI¡¢EXEC¡¢DISCARD¡¢WATCH¡£ÕâËĸöÖ¸Áî¹¹³ÉÁËredisÊÂÎñ´¦ÀíµÄ»ù´¡¡£

1.MULTIÓÃÀ´×é×°Ò»¸öÊÂÎñ£»

2.EXECÓÃÀ´Ö´ÐÐÒ»¸öÊÂÎñ£»

3.DISCARDÓÃÀ´È¡ÏûÒ»¸öÊÂÎñ£»

4.WATCHÓÃÀ´¼àÊÓһЩkey£¬Ò»µ©ÕâЩkeyÔÚÊÂÎñÖ´ÐÐ֮ǰ±»¸Ä±ä£¬ÔòÈ¡ÏûÊÂÎñµÄÖ´ÐС£

Ö½ÉϵÃÀ´ÖÕ¾õdz£¬ÎÒÃÇÀ´¿´Ò»¸öMULTIºÍEXECµÄÀý×Ó£º

redis> MULTI //±ê¼ÇÊÂÎñ¿ªÊ¼
OK
redis> INCR user_id //¶àÌõÃüÁ˳ÐòÈë¶Ó
QUEUED
redis> INCR user_id
QUEUED
redis> INCR user_id
QUEUED
redis> PING
QUEUED
redis> EXEC //Ö´ÐÐ
1) (integer) 1
2) (integer) 2
3) (integer) 3
4) PONG

ÔÚÉÏÃæµÄÀý×ÓÖУ¬ÎÒÃÇ¿´µ½ÁËQUEUEDµÄ×ÖÑù£¬Õâ±íʾÎÒÃÇÔÚÓÃMULTI×é×°ÊÂÎñʱ£¬Ã¿Ò»¸öÃüÁî¶¼»á½øÈëµ½ÄÚ´æ¶ÓÁÐÖлº´æÆðÀ´£¬Èç¹û³öÏÖQUEUEDÔò±íʾÎÒÃÇÕâ¸öÃüÁî³É¹¦²åÈëÁË»º´æ¶ÓÁУ¬ÔÚ½«À´Ö´ÐÐEXECʱ£¬ÕâЩ±»QUEUEDµÄÃüÁî¶¼»á±»×é×°³ÉÒ»¸öÊÂÎñÀ´Ö´ÐС£

¶ÔÓÚÊÂÎñµÄÖ´ÐÐÀ´Ëµ£¬Èç¹ûredis¿ªÆôÁËAOF³Ö¾Ã»¯µÄ»°£¬ÄÇôһµ©ÊÂÎñ±»³É¹¦Ö´ÐУ¬ÊÂÎñÖеÄÃüÁî¾Í»áͨ¹ýwriteÃüÁîÒ»´ÎÐÔдµ½´ÅÅÌÖÐÈ¥£¬Èç¹ûÔÚÏò´ÅÅÌÖÐдµÄ¹ý³ÌÖÐÇ¡ºÃ³öÏֶϵ硢Ӳ¼þ¹ÊÕϵÈÎÊÌ⣬ÄÇô¾Í¿ÉÄܳöÏÖÖ»Óв¿·ÖÃüÁî½øÐÐÁËAOF³Ö¾Ã»¯£¬ÕâʱAOFÎļþ¾Í»á³öÏÖ²»ÍêÕûµÄÇé¿ö£¬Õâʱ£¬ÎÒÃÇ¿ÉÒÔʹÓÃredis-check-aof¹¤¾ßÀ´ÐÞ¸´ÕâÒ»ÎÊÌ⣬Õâ¸ö¹¤¾ß»á½«AOFÎļþÖв»ÍêÕûµÄÐÅÏ¢ÒÆ³ý£¬È·±£AOFÎļþÍêÕû¿ÉÓá£

ÓйØÊÂÎñ£¬´ó¼Ò¾­³£»áÓöµ½µÄÊÇÁ½Àà´íÎó£º

1.µ÷ÓÃEXEC֮ǰµÄ´íÎó

2.µ÷ÓÃEXECÖ®ºóµÄ´íÎó

¡°µ÷ÓÃEXEC֮ǰµÄ´íÎó¡±£¬ÓпÉÄÜÊÇÓÉÓÚÓï·¨ÓÐÎóµ¼Öµģ¬Ò²¿ÉÄÜʱÓÉÓÚÄÚ´æ²»×ãµ¼Öµġ£Ö»Òª³öÏÖij¸öÃüÁîÎÞ·¨³É¹¦Ð´È뻺³å¶ÓÁеÄÇé¿ö£¬redis¶¼»á½øÐмǼ£¬ÔÚ¿Í»§¶Ëµ÷ÓÃEXECʱ£¬redis»á¾Ü¾øÖ´ÐÐÕâÒ»ÊÂÎñ¡££¨Õâʱ2.6.5°æ±¾Ö®ºóµÄ²ßÂÔ¡£ÔÚ2.6.5֮ǰµÄ°æ±¾ÖУ¬redis»áºöÂÔÄÇЩÈë¶Óʧ°ÜµÄÃüÁִֻÐÐÄÇЩÈë¶Ó³É¹¦µÄÃüÁ¡£ÎÒÃÇÀ´¿´Ò»¸öÕâÑùµÄÀý×Ó£º

127.0.0.1:6379> multi
OK
127.0.0.1:6379> haha //Ò»¸öÃ÷ÏÔ´íÎóµÄÖ¸Áî
(error) ERR unknown command 'haha'
127.0.0.1:6379> ping
QUEUED
127.0.0.1:6379> exec
//redisÎÞÇéµÄ¾Ü¾øÁËÊÂÎñµÄÖ´ÐУ¬Ô­ÒòÊÇ¡°Ö®Ç°³öÏÖÁË´íÎó¡±
(error) EXECABORT Transaction discarded because of previous errors.

¶ø¶ÔÓÚ¡°µ÷ÓÃEXECÖ®ºóµÄ´íÎó¡±£¬redisÔò²ÉÈ¡ÁËÍêÈ«²»Í¬µÄ²ßÂÔ£¬¼´redis²»»áÀí²ÇÕâЩ´íÎ󣬶øÊǼÌÐøÏòÏÂÖ´ÐÐÊÂÎñÖÐµÄÆäËûÃüÁî¡£ÕâÊÇÒòΪ£¬¶ÔÓÚÓ¦ÓòãÃæµÄ´íÎ󣬲¢²»ÊÇredis×ÔÉíÐèÒª¿¼ÂǺʹ¦ÀíµÄÎÊÌ⣬ËùÒÔÒ»¸öÊÂÎñÖÐÈç¹ûijһÌõÃüÁîÖ´ÐÐʧ°Ü£¬²¢²»»áÓ°Ïì½ÓÏÂÀ´µÄÆäËûÃüÁîµÄÖ´ÐС£ÎÒÃÇÒ²À´¿´Ò»¸öÀý×Ó£º

127.0.0.1:6379> multi
OK
127.0.0.1:6379> set age 23
QUEUED
//age²»ÊǼ¯ºÏ£¬ËùÒÔÈçÏÂÊÇÒ»ÌõÃ÷ÏÔ´íÎóµÄÖ¸Áî
127.0.0.1:6379> sadd age 15
QUEUED
127.0.0.1:6379> set age 29
QUEUED
127.0.0.1:6379> exec //Ö´ÐÐÊÂÎñʱ£¬redis²»»áÀí²ÇµÚ2ÌõÖ¸ÁîÖ´ÐдíÎó
1) OK
2) (error) WRONGTYPE Operation against a key holding the wrong kind of value
3) OK
127.0.0.1:6379> get age
"29" //¿ÉÒÔ¿´³öµÚ3ÌõÖ¸Áî±»³É¹¦Ö´ÐÐÁË

ºÃÁË£¬ÎÒÃÇÀ´ËµËµ×îºóÒ»¸öÖ¸Áî¡°WATCH¡±£¬ÕâÊÇÒ»¸öºÜºÃÓõÄÖ¸ÁËü¿ÉÒÔ°ïÎÒÃÇʵÏÖÀàËÆÓÚ¡°ÀÖ¹ÛËø¡±µÄЧ¹û£¬¼´CAS£¨check and set£©¡£

WATCH±¾ÉíµÄ×÷ÓÃÊÇ¡°¼àÊÓkeyÊÇ·ñ±»¸Ä¶¯¹ý¡±£¬¶øÇÒÖ§³Öͬʱ¼àÊÓ¶à¸ökey£¬Ö»Òª»¹Ã»ÕæÕý´¥·¢ÊÂÎñ£¬WATCH¶¼»á¾¡Ö°¾¡ÔðµÄ¼àÊÓ£¬Ò»µ©·¢ÏÖij¸ökey±»ÐÞ¸ÄÁË£¬ÔÚÖ´ÐÐEXECʱ¾Í»á·µ»Ønil£¬±íʾÊÂÎñÎÞ·¨´¥·¢¡£

127.0.0.1:6379> set age 23
OK
127.0.0.1:6379> watch age //¿ªÊ¼¼àÊÓage
OK
127.0.0.1:6379> set age 24 //ÔÚEXEC֮ǰ£¬ageµÄÖµ±»ÐÞ¸ÄÁË
OK
127.0.0.1:6379> multi
OK
127.0.0.1:6379> set age 25
QUEUED
127.0.0.1:6379> get age
QUEUED
127.0.0.1:6379> exec //´¥·¢EXEC
(nil) //ÊÂÎñÎÞ·¨±»Ö´ÐÐ

¡¾½ÌÄã¿´¶®redisÅäÖà ¨C ¼ò½é¡¿

ÎÒÃÇ¿ÉÒÔÔÚÆô¶¯redis-serverʱָ¶¨Ó¦¸Ã¼ÓÔØµÄÅäÖÃÎļþ£¬·½·¨ÈçÏ£º

$ ./redis-server /path/to/redis.conf

½ÓÏÂÀ´£¬ÎÒÃǾÍÀ´½²½âÏÂredisÅäÖÃÎļþµÄ¸÷¸öÅäÖÃÏîµÄº¬Ò壬עÒ⣬±¾ÎÄÊÇ»ùÓÚredis-2.8.4°æ±¾½øÐн²½âµÄ¡£

redis¹Ù·½ÌṩµÄredis.confÎļþ£¬×ãÓÐ700+ÐУ¬ÆäÖÐ100¶àÐÐΪÓÐЧÅäÖÃÐУ¬ÁíÍâµÄ600¶àÐÐΪעÊÍ˵Ã÷¡£

ÔÚÅäÖÃÎļþµÄ¿ªÍ·²¿·Ö£¬Ê×ÏÈÃ÷È·ÁËһЩ¶ÈÁ¿µ¥Î»£º

# 1k => 1000 bytes
# 1kb => 1024 bytes
# 1m => 1000000 bytes
# 1mb => 1024*1024 bytes
# 1g => 1000000000 bytes
# 1gb => 1024*1024*1024 bytes

¿ÉÒÔ¿´³ö£¬redisÅäÖÃÖжԵ¥Î»µÄ´óСд²»Ãô¸Ð£¬1GB¡¢1GbºÍ1gB¶¼ÊÇÏàͬµÄ¡£ÓÉ´ËҲ˵Ã÷£¬redisÖ»Ö§³Öbytes£¬²»Ö§³Öbitµ¥Î»¡£

redisÖ§³Ö¡°Ö÷ÅäÖÃÎļþÖÐÒýÈëÍⲿÅäÖÃÎļþ¡±£¬ºÜÏñC/C++ÖеÄincludeÖ¸Á±ÈÈ磺

daemonize no

Èç¹ûÄã¿´¹ýredisµÄÅäÖÃÎļþ£¬»á·¢ÏÖ»¹ÊǺÜÓÐÌõÀíµÄ¡£redisÅäÖÃÎļþ±»·Ö³ÉÁ˼¸´ó¿éÇøÓò£¬ËüÃÇ·Ö±ðÊÇ£º

1.ͨÓã¨general£©

2.¿ìÕÕ£¨snapshotting£©

3.¸´ÖÆ£¨replication£©

4.°²È«£¨security£©

5.ÏÞÖÆ£¨limits)

6.×·¼Óģʽ£¨append only mode)

7.LUA½Å±¾£¨lua scripting)

8.ÂýÈÕÖ¾£¨slow log)

9.ʼþ֪ͨ£¨event notification£©

ÏÂÃæÎÒÃǾÍÀ´ÖðÒ»½²½â¡£

¡¾½ÌÄã¿´¶®redisÅäÖà -ͨÓá¿

ĬÈÏÇé¿öÏ£¬redis²¢²»ÊÇÒÔdaemonÐÎʽÀ´ÔËÐеġ£Í¨¹ýdaemonizeÅäÖÃÏî¿ÉÒÔ¿ØÖÆredisµÄÔËÐÐÐÎʽ£¬Èç¹û¸ÄΪyes£¬ÄÇôredis¾Í»áÒÔdaemonÐÎʽÔËÐУº

daemonize no

µ±ÒÔdaemonÐÎʽÔËÐÐʱ£¬redis»áÉú³ÉÒ»¸öpidÎļþ£¬Ä¬ÈÏ»áÉú³ÉÔÚ/var/run/redis.pid¡£µ±È»£¬Äã¿ÉÒÔͨ¹ýpidfileÀ´Ö¸¶¨pidÎļþÉú³ÉµÄλÖ㬱ÈÈ磺

pidfile /path/to/redis.pid

ĬÈÏÇé¿öÏ£¬redis»áÏìÓ¦±¾»úËùÓпÉÓÃÍø¿¨µÄÁ¬½ÓÇëÇó¡£µ±È»£¬redisÔÊÐíÄãͨ¹ýbindÅäÖÃÏîÀ´Ö¸¶¨Òª°ó¶¨µÄIP£¬±ÈÈ磺

bind 192.168.1.2 10.8.4.2

redisµÄĬÈÏ·þÎñ¶Ë¿ÚÊÇ6379£¬Äã¿ÉÒÔͨ¹ýportÅäÖÃÏîÀ´Ð޸ġ£Èç¹û¶Ë¿ÚÉèÖÃΪ0µÄ»°£¬redis±ã²»»á¼àÌý¶Ë¿ÚÁË

port 6379

ÓÐЩͬѧ»áÎÊ¡°Èç¹ûredis²»¼àÌý¶Ë¿Ú£¬»¹ÔõôÓëÍâ½çͨÐÅÄØ¡±£¬Æäʵredis»¹Ö§³Öͨ¹ýunix socket·½Ê½À´½ÓÊÕÇëÇ󡣿ÉÒÔͨ¹ýunixsocketÅäÖÃÏîÀ´Ö¸¶¨unix socketÎļþµÄ·¾¶£¬²¢Í¨¹ýunixsocketpermÀ´Ö¸¶¨ÎļþµÄȨÏÞ¡£

unixsocket /tmp/redis.sock
unixsocketperm 755

µ±Ò»¸öredis-clientһֱûÓÐÇëÇó·¢Ïòserver¶Ë£¬ÄÇôserver¶ËÓÐȨÖ÷¶¯¹Ø±ÕÕâ¸öÁ¬½Ó£¬¿ÉÒÔͨ¹ýtimeoutÀ´ÉèÖá°¿ÕÏг¬Ê±Ê±ÏÞ¡±£¬0±íʾÓÀ²»¹Ø±Õ¡£

timeout 0

TCPÁ¬½Ó±£»î²ßÂÔ£¬¿ÉÒÔͨ¹ýtcp-keepaliveÅäÖÃÏîÀ´½øÐÐÉèÖ㬵¥Î»ÎªÃ룬¼ÙÈçÉèÖÃΪ60Ã룬Ôòserver¶Ë»áÿ60ÃëÏòÁ¬½Ó¿ÕÏеĿͻ§¶Ë·¢ÆðÒ»´ÎACKÇëÇó£¬ÒÔ¼ì²é¿Í»§¶ËÊÇ·ñÒѾ­¹Òµô£¬¶ÔÓÚÎÞÏìÓ¦µÄ¿Í»§¶ËÔò»á¹Ø±ÕÆäÁ¬½Ó¡£ËùÒԹرÕÒ»¸öÁ¬½Ó×ÐèÒª120ÃëµÄʱ¼ä¡£Èç¹ûÉèÖÃΪ0£¬Ôò²»»á½øÐб£»î¼ì²â¡£

tcp-keepalive 0

redisÖ§³Öͨ¹ýloglevelÅäÖÃÏîÉèÖÃÈÕÖ¾µÈ¼¶£¬¹²·ÖËļ¶£¬¼´ debug ¡¢ verbose ¡¢ notice ¡¢ warning ¡£

loglevel notice

redisÒ²Ö§³Öͨ¹ýlogfileÅäÖÃÏîÀ´ÉèÖÃÈÕÖ¾ÎļþµÄÉú³ÉλÖá£Èç¹ûÉèÖÃΪ¿Õ×Ö·û´®£¬Ôòredis»á½«ÈÕÖ¾Êä³öµ½±ê×¼Êä³ö¡£¼ÙÈçÄãÔÚdaemonÇé¿öϽ«ÈÕÖ¾ÉèÖÃΪÊä³öµ½±ê×¼Êä³ö£¬ÔòÈÕÖ¾»á±»Ð´µ½/dev/nullÖС£

logfile ""

Èç¹ûÏ£ÍûÈÕÖ¾´òÓ¡µ½syslogÖУ¬Ò²ºÜÈÝÒ×£¬Í¨¹ýsyslog-enabledÀ´¿ØÖÆ¡£ÁíÍ⣬syslog-ident»¹¿ÉÒÔÈÃÄãÖ¸¶¨syslogÀïµÄÈÕÖ¾±êÖ¾£¬±ÈÈ磺

syslog-ident redis

¶øÇÒ»¹Ö§³ÖÖ¸¶¨syslogÉ豸£¬Öµ¿ÉÒÔÊÇUSER»òLOCAL0-LOCAL7¡£¾ßÌå¿ÉÒԲο¼syslog·þÎñ±¾ÉíµÄÓ÷¨¡£

syslog-facility local0!

¶ÔÓÚredisÀ´Ëµ£¬¿ÉÒÔÉèÖÃÆäÊý¾Ý¿âµÄ×ÜÊýÁ¿£¬¼ÙÈçÄãÏ£ÍûÒ»¸öredis°üº¬16¸öÊý¾Ý¿â£¬ÄÇôÉèÖÃÈçÏ£º

databases 16

Õâ16¸öÊý¾Ý¿âµÄ±àºÅ½«ÊÇ0µ½15¡£Ä¬ÈϵÄÊý¾Ý¿âÊDZàºÅΪ0µÄÊý¾Ý¿â¡£Óû§¿ÉÒÔʹÓÃselect <DBid>À´Ñ¡ÔñÏàÓ¦µÄÊý¾Ý¿â¡£

¡¾½ÌÄã¿´¶®redisÅäÖà ¨C ¿ìÕÕ¡¿

¿ìÕÕ£¬Ö÷񻃾¼°µÄÊÇredisµÄRDB³Ö¾Ã»¯Ïà¹ØµÄÅäÖã¬ÎÒÃÇÀ´Ò»Æð¿´Ò»¿´¡£

ÎÒÃÇ¿ÉÒÔÓÃÈçϵÄÖ¸ÁîÀ´ÈÃÊý¾Ý±£´æµ½´ÅÅÌÉÏ£¬¼´¿ØÖÆRDB¿ìÕÕ¹¦ÄÜ£º

save <seconds> <changes>

¾ÙÀýÀ´Ëµ£º

save 900 1 //±íʾÿ15·ÖÖÓÇÒÖÁÉÙÓÐ1¸ökey¸Ä±ä£¬¾Í´¥·¢Ò»´Î³Ö¾Ã»¯
save 300 10 //±íʾÿ5·ÖÖÓÇÒÖÁÉÙÓÐ10¸ökey¸Ä±ä£¬¾Í´¥·¢Ò»´Î³Ö¾Ã»¯
save 60 10000 //±íʾÿ60ÃëÖÁÉÙÓÐ10000¸ökey¸Ä±ä£¬¾Í´¥·¢Ò»´Î³Ö¾Ã»¯

Èç¹ûÄãÏë½ûÓÃRDB³Ö¾Ã»¯µÄ²ßÂÔ£¬Ö»Òª²»ÉèÖÃÈκÎsaveÖ¸Áî¾Í¿ÉÒÔ£¬»òÕ߸øsave´«ÈëÒ»¸ö¿Õ×Ö·û´®²ÎÊýÒ²¿ÉÒÔ´ïµ½ÏàͬЧ¹û£¬¾ÍÏñÕâÑù£º

save ""

Èç¹ûÓû§¿ªÆôÁËRDB¿ìÕÕ¹¦ÄÜ£¬ÄÇôÔÚredis³Ö¾Ã»¯Êý¾Ýµ½´ÅÅÌʱÈç¹û³öÏÖʧ°Ü£¬Ä¬ÈÏÇé¿öÏ£¬redis»áÍ£Ö¹½ÓÊÜËùÓеÄдÇëÇó¡£ÕâÑù×öµÄºÃ´¦ÔÚÓÚ¿ÉÒÔÈÃÓû§ºÜÃ÷È·µÄÖªµÀÄÚ´æÖеÄÊý¾ÝºÍ´ÅÅÌÉϵÄÊý¾ÝÒѾ­´æÔÚ²»Ò»ÖÂÁË¡£Èç¹ûredis²»¹ËÕâÖÖ²»Ò»Ö£¬Ò»Òâ¹ÂÐеļÌÐø½ÓÊÕдÇëÇ󣬾ͿÉÄÜ»áÒýÆðһЩÔÖÄÑÐԵĺó¹û¡£

Èç¹ûÏÂÒ»´ÎRDB³Ö¾Ã»¯³É¹¦£¬redis»á×Ô¶¯»Ö¸´½ÓÊÜдÇëÇó¡£

µ±È»£¬Èç¹ûÄã²»ÔÚºõÕâÖÖÊý¾Ý²»Ò»Ö»òÕßÓÐÆäËûµÄÊֶη¢ÏֺͿØÖÆÕâÖÖ²»Ò»ÖµĻ°£¬ÄãÍêÈ«¿ÉÒԹرÕÕâ¸ö¹¦ÄÜ£¬ÒÔ±ãÔÚ¿ìÕÕдÈëʧ°Üʱ£¬Ò²ÄÜÈ·±£redis¼ÌÐø½ÓÊÜеÄдÇëÇó¡£ÅäÖÃÏîÈçÏ£º

stop-writes-on-bgsave-error yes

¶ÔÓÚ´æ´¢µ½´ÅÅÌÖеĿìÕÕ£¬¿ÉÒÔÉèÖÃÊÇ·ñ½øÐÐѹËõ´æ´¢¡£Èç¹ûÊǵϰ£¬redis»á²ÉÓÃLZFËã·¨½øÐÐѹËõ¡£Èç¹ûÄã²»ÏëÏûºÄCPUÀ´½øÐÐѹËõµÄ»°£¬¿ÉÒÔÉèÖÃΪ¹Ø±Õ´Ë¹¦ÄÜ£¬µ«ÊÇ´æ´¢ÔÚ´ÅÅÌÉϵĿìÕÕ»á±È½Ï´ó¡£

rdbcompression yes

ÔÚ´æ´¢¿ìÕÕºó£¬ÎÒÃÇ»¹¿ÉÒÔÈÃredisʹÓÃCRC64Ëã·¨À´½øÐÐÊý¾ÝУÑ飬µ«ÊÇÕâÑù×ö»áÔö¼Ó´óÔ¼10%µÄÐÔÄÜÏûºÄ£¬Èç¹ûÄãÏ£Íû»ñÈ¡µ½×î´óµÄÐÔÄÜÌáÉý£¬¿ÉÒԹرմ˹¦ÄÜ¡£

rdbchecksum yes

ÎÒÃÇ»¹¿ÉÒÔÉèÖÿìÕÕÎļþµÄÃû³Æ£¬Ä¬ÈÏÊÇÕâÑùÅäÖõģº

dbfilename dump.rdb

×îºó£¬Ä㻹¿ÉÒÔÉèÖÃÕâ¸ö¿ìÕÕÎļþ´æ·ÅµÄ·¾¶¡£±ÈÈçĬÈÏÉèÖþÍÊǵ±Ç°Îļþ¼Ð£º

dir ./

¡¾½ÌÄã¿´¶®redisÅäÖà ¨C ¸´ÖÆ¡¿

redisÌṩÁËÖ÷´Óͬ²½¹¦ÄÜ¡£

ͨ¹ýslaveofÅäÖÃÏî¿ÉÒÔ¿ØÖÆÄ³Ò»¸öredis×÷ΪÁíÒ»¸öredisµÄ´Ó·þÎñÆ÷£¬Í¨¹ýÖ¸¶¨IPºÍ¶Ë¿ÚÀ´¶¨Î»µ½Ö÷redisµÄλÖá£Ò»°ãÇé¿öÏ£¬ÎÒÃǻὨÒéÓû§Îª´ÓredisÉèÖÃÒ»¸ö²»Í¬ÆµÂʵĿìÕճ־û¯µÄÖÜÆÚ£¬»òÕßΪ´ÓredisÅäÖÃÒ»¸ö²»Í¬µÄ·þÎñ¶Ë¿ÚµÈµÈ¡£

slaveof <masterip> <masterport>

Èç¹ûÖ÷redisÉèÖÃÁËÑéÖ¤ÃÜÂëµÄ»°£¨Ê¹ÓÃrequirepassÀ´ÉèÖã©£¬ÔòÔÚ´ÓredisµÄÅäÖÃÖÐҪʹÓÃmasterauthÀ´ÉèÖÃУÑéÃÜÂ룬·ñÔòµÄ»°£¬Ö÷redis»á¾Ü¾ø´ÓredisµÄ·ÃÎÊÇëÇó¡£

masterauth <master-password>

µ±´ÓredisʧȥÁËÓëÖ÷redisµÄÁ¬½Ó£¬»òÕßÖ÷´Óͬ²½ÕýÔÚ½øÐÐÖÐʱ£¬redis¸ÃÈçºÎ´¦ÀíÍⲿ·¢À´µÄ·ÃÎÊÇëÇóÄØ£¿ÕâÀ´Óredis¿ÉÒÔÓÐÁ½ÖÖÑ¡Ôñ£º

µÚÒ»ÖÖÑ¡Ôñ£ºÈç¹ûslave-serve-stale-dataÉèÖÃΪyes£¨Ä¬ÈÏ£©£¬Ôò´ÓredisÈÔ»á¼ÌÐøÏìÓ¦¿Í»§¶ËµÄ¶ÁдÇëÇó¡£

µÚ¶þÖÖÑ¡Ôñ£ºÈç¹ûslave-serve-stale-dataÉèÖÃΪno£¬Ôò´Óredis»á¶Ô¿Í»§¶ËµÄÇëÇ󷵻ء°SYNC with master in progress¡±£¬µ±È»Ò²ÓÐÀýÍ⣬µ±¿Í»§¶Ë·¢À´INFOÇëÇóºÍSLAVEOFÇëÇ󣬴Óredis»¹ÊÇ»á½øÐд¦Àí¡£

Äã¿ÉÒÔ¿ØÖÆÒ»¸ö´ÓredisÊÇ·ñ¿ÉÒÔ½ÓÊÜдÇëÇó¡£½«Êý¾ÝÖ±½ÓдÈë´Óredis£¬Ò»°ãÖ»ÊÊÓÃÓÚÄÇЩÉúÃüÖÜÆÚ·Ç³£¶ÌµÄÊý¾Ý£¬ÒòΪÔÚÖ÷´Óͬ²½Ê±£¬ÕâЩÁÙʱÊý¾Ý¾Í»á±»ÇåÀíµô¡£×Ô´Óredis2.6°æ±¾Ö®ºó£¬Ä¬ÈÏ´ÓredisΪֻ¶Á¡£

slave-read-only yes

Ö»¶ÁµÄ´Óredis²¢²»ÊʺÏÖ±½Ó±©Â¶¸ø²»¿ÉÐŵĿͻ§¶Ë¡£ÎªÁ˾¡Á¿½µµÍ·çÏÕ£¬¿ÉÒÔʹÓÃrename-commandÖ¸ÁîÀ´½«Ò»Ð©¿ÉÄÜÓÐÆÆ»µÁ¦µÄÃüÁîÖØÃüÃû£¬±ÜÃâÍⲿֱ½Óµ÷ÓᣱÈÈ磺

rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52

´Óredis»áÖÜÆÚÐÔµÄÏòÖ÷redis·¢³öPING°ü¡£Äã¿ÉÒÔͨ¹ýrepl_ping_slave_periodÖ¸ÁîÀ´¿ØÖÆÆäÖÜÆÚ¡£Ä¬ÈÏÊÇ10Ãë¡£

repl-ping-slave-period 10

ÔÚÖ÷´Óͬ²½Ê±£¬¿ÉÄÜÔÚÕâЩÇé¿öÏ»áÓг¬Ê±·¢Éú£º

1.ÒÔ´ÓredisµÄ½Ç¶ÈÀ´¿´£¬µ±Óдó¹æÄ£IO´«Êäʱ¡£

2.ÒÔ´ÓredisµÄ½Ç¶ÈÀ´¿´£¬µ±Êý¾Ý´«Êä»òPINGʱ£¬Ö÷redis³¬Ê±

3.ÒÔÖ÷redisµÄ½Ç¶ÈÀ´¿´£¬Ôڻظ´´ÓredisµÄPINGʱ£¬´Óredis³¬Ê±

Óû§¿ÉÒÔÉèÖÃÉÏÊö³¬Ê±µÄʱÏÞ£¬²»¹ýҪȷ±£Õâ¸öʱÏÞ±Èrepl-ping-slave-periodµÄÖµÒª´ó£¬·ñÔòÿ´ÎÖ÷redis¶¼»áÈÏΪ´Óredis³¬Ê±¡£

repl-timeout 60

ÎÒÃÇ¿ÉÒÔ¿ØÖÆÔÚÖ÷´Óͬ²½Ê±ÊÇ·ñ½ûÓÃTCP_NODELAY¡£Èç¹û¿ªÆôTCP_NODELAY£¬ÄÇôÖ÷redis»áʹÓøüÉÙµÄTCP°üºÍ¸üÉٵĴø¿íÀ´Ïò´Óredis´«ÊäÊý¾Ý¡£µ«ÊÇÕâ¿ÉÄÜ»áÔö¼ÓһЩͬ²½µÄÑÓ³Ù£¬´ó¸Å»á´ïµ½40ºÁÃë×óÓÒ¡£Èç¹ûÄã¹Ø±ÕÁËTCP_NODELAY£¬ÄÇôÊý¾Ýͬ²½µÄÑÓ³Ùʱ¼ä»á½µµÍ£¬µ«ÊÇ»áÏûºÄ¸ü¶àµÄ´ø¿í¡££¨Èç¹ûÄã²»Á˽âTCP_NODELAY£¬¿ÉÒÔµ½ÕâÀïÀ´¿ÆÆÕһϣ©¡£

repl-disable-tcp-nodelay no

ÎÒÃÇ»¹¿ÉÒÔÉèÖÃͬ²½¶ÓÁг¤¶È¡£¶ÓÁг¤¶È£¨backlog)ÊÇÖ÷redisÖеÄÒ»¸ö»º³åÇø£¬ÔÚÓë´Óredis¶Ï¿ªÁ¬½ÓÆÚ¼ä£¬Ö÷redis»áÓÃÕâ¸ö»º³åÇøÀ´»º´æÓ¦¸Ã·¢¸ø´ÓredisµÄÊý¾Ý¡£ÕâÑùµÄ»°£¬µ±´ÓredisÖØÐÂÁ¬½ÓÉÏÖ®ºó£¬¾Í²»±ØÖØÐÂÈ«Á¿Í¬²½Êý¾Ý£¬Ö»ÐèҪͬ²½Õⲿ·ÖÔöÁ¿Êý¾Ý¼´¿É¡£

repl-backlog-size 1mb

Èç¹ûÖ÷redisµÈÁËÒ»¶Îʱ¼äÖ®ºó£¬»¹ÊÇÎÞ·¨Á¬½Óµ½´Óredis£¬ÄÇô»º³å¶ÓÁÐÖеÄÊý¾Ý½«±»ÇåÀíµô¡£ÎÒÃÇ¿ÉÒÔÉèÖÃÖ÷redisÒªµÈ´ýµÄʱ¼ä³¤¶È¡£Èç¹ûÉèÖÃΪ0£¬Ôò±íʾÓÀÔ¶²»ÇåÀí¡£Ä¬ÈÏÊÇ1¸öСʱ¡£

repl-backlog-ttl 3600

ÎÒÃÇ¿ÉÒÔ¸øÖÚ¶àµÄ´ÓredisÉèÖÃÓÅÏȼ¶£¬ÔÚÖ÷redis³ÖÐø¹¤×÷²»Õý³£µÄÇé¿ö£¬ÓÅÏȼ¶¸ßµÄ´Óredis½«»áÉý¼¶ÎªÖ÷redis¡£¶ø±àºÅԽС£¬ÓÅÏȼ¶Ô½¸ß¡£±ÈÈçÒ»¸öÖ÷redisÓÐÈý¸ö´Óredis£¬ÓÅÏȼ¶±àºÅ·Ö±ðΪ10¡¢100¡¢25£¬ÄÇô±àºÅΪ10µÄ´Óredis½«»á±»Ê×ÏÈÑ¡ÖÐÉý¼¶ÎªÖ÷redis¡£µ±ÓÅÏȼ¶±»ÉèÖÃΪ0ʱ£¬Õâ¸ö´Óredis½«ÓÀÔ¶Ò²²»»á±»Ñ¡ÖС£Ä¬ÈϵÄÓÅÏȼ¶Îª100¡£

slave-priority 100

¼ÙÈçÖ÷redis·¢ÏÖÓг¬¹ýM¸ö´ÓredisµÄÁ¬½ÓÑÓʱ´óÓÚNÃ룬ÄÇôÖ÷redis¾ÍÍ£Ö¹½ÓÊÜÍâÀ´µÄдÇëÇó¡£ÕâÊÇÒòΪ´ÓredisÒ»°ã»áÿÃëÖÓ¶¼ÏòÖ÷redis·¢³öPING£¬¶øÖ÷redis»á¼Ç¼ÿһ¸ö´Óredis×î½üÒ»´Î·¢À´PINGµÄʱ¼äµã£¬ËùÒÔÖ÷redisÄܹ»Á˽âÿһ¸ö´ÓredisµÄÔËÐÐÇé¿ö¡£

min-slaves-to-write 3
min-slaves-max-lag 10

ÉÏÃæÕâ¸öÀý×Ó±íʾ£¬¼ÙÈçÓдóÓÚµÈÓÚ3¸ö´ÓredisµÄÁ¬½ÓÑÓ³Ù´óÓÚ10Ã룬ÄÇôÖ÷redis¾Í²»ÔÙ½ÓÊÜÍⲿµÄдÇëÇó¡£ÉÏÊöÁ½¸öÅäÖÃÖÐÓÐÒ»¸ö±»ÖÃΪ0£¬ÔòÕâ¸öÌØÐÔ½«±»¹Ø±Õ¡£Ä¬ÈÏÇé¿öÏÂmin-slaves-to-writeΪ0£¬¶ømin-slaves-max-lagΪ10¡£

¡¾½ÌÄã¿´¶®redisÅäÖà ¨C °²È«¡¿

ÎÒÃÇ¿ÉÒÔÒªÇóredis¿Í»§¶ËÔÚÏòredis-server·¢ËÍÇëÇó֮ǰ£¬ÏȽøÐÐÃÜÂëÑéÖ¤¡£µ±ÄãµÄredis-server´¦ÓÚÒ»¸ö²»Ì«¿ÉÐŵÄÍøÂç»·¾³ÖÐʱ£¬ÏàÐÅÄã»áÓÃÉÏÕâ¸ö¹¦ÄÜ¡£ÓÉÓÚredisÐÔÄܷdz£¸ß£¬ËùÒÔÿÃëÖÓ¿ÉÒÔÍê³É¶à´ï15Íò´ÎµÄÃÜÂë³¢ÊÔ£¬ËùÒÔÄã×îºÃÉèÖÃÒ»¸ö×ã¹»¸´ÔÓµÄÃÜÂ룬·ñÔòºÜÈÝÒ×±»ºÚ¿ÍÆÆ½â¡£

requirepass zhimakaimen

ÕâÀïÎÒÃÇͨ¹ýrequirepass½«ÃÜÂëÉèÖóɡ°Ö¥Â鿪ÃÅ¡±¡£

redisÔÊÐíÎÒÃǶÔredisÖ¸Áî½øÐиüÃû£¬±ÈÈ罫һЩ±È½ÏΣÏÕµÄÃüÁî¸Ä¸öÃû×Ö£¬±ÜÃâ±»ÎóÖ´ÐС£±ÈÈç¿ÉÒÔ°ÑCONFIGÃüÁî¸Ä³ÉÒ»¸öºÜ¸´ÔÓµÄÃû×Ö£¬ÕâÑù¿ÉÒÔ±ÜÃâÍⲿµÄµ÷Óã¬Í¬Ê±»¹¿ÉÒÔÂú×ãÄÚ²¿µ÷ÓõÄÐèÒª£º

rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c89

ÎÒÃÇÉõÖÁ¿ÉÒÔ½ûÓõôCONFIGÃüÁÄǾÍÊǰÑCONFIGµÄÃû×ָijÉÒ»¸ö¿Õ×Ö·û´®£º

rename-command CONFIG ""

µ«ÐèҪעÒâµÄÊÇ£¬Èç¹ûÄãʹÓÃAOF·½Ê½½øÐÐÊý¾Ý³Ö¾Ã»¯£¬»òÕßÐèÒªÓë´Óredis½øÐÐͨÐÅ£¬ÄÇô¸ü¸ÄÖ¸ÁîµÄÃû×Ö¿ÉÄÜ»áÒýÆðһЩÎÊÌâ¡£

¡¾½ÌÄã¿´¶®redisÅäÖà -ÏÞÖÆ¡¿

ÎÒÃÇ¿ÉÒÔÉèÖÃredisͬʱ¿ÉÒÔÓë¶àÉÙ¸ö¿Í»§¶Ë½øÐÐÁ¬½Ó¡£Ä¬ÈÏÇé¿öÏÂΪ10000¸ö¿Í»§¶Ë¡£µ±ÄãÎÞ·¨ÉèÖýø³ÌÎļþ¾ä±úÏÞÖÆÊ±£¬redis»áÉèÖÃΪµ±Ç°µÄÎļþ¾ä±úÏÞÖÆÖµ¼õÈ¥32£¬ÒòΪredis»áΪ×ÔÉíÄÚ²¿´¦ÀíÂß¼­ÁôһЩ¾ä±ú³öÀ´¡£

Èç¹û´ïµ½ÁË´ËÏÞÖÆ£¬redisÔò»á¾Ü¾øÐµÄÁ¬½ÓÇëÇ󣬲¢ÇÒÏòÕâЩÁ¬½ÓÇëÇó·½·¢³ö¡°max number of clients reached¡±ÒÔ×÷»ØÓ¦¡£

maxclients 10000

ÎÒÃÇÉõÖÁ¿ÉÒÔÉèÖÃredis¿ÉÒÔʹÓõÄÄÚ´æÁ¿¡£Ò»µ©µ½´ïÄÚ´æÊ¹ÓÃÉÏÏÞ£¬redis½«»áÊÔÍ¼ÒÆ³ýÄÚ²¿Êý¾Ý£¬ÒƳý¹æÔò¿ÉÒÔͨ¹ýmaxmemory-policyÀ´Ö¸¶¨¡£

Èç¹ûredisÎÞ·¨¸ù¾ÝÒÆ³ý¹æÔòÀ´ÒƳýÄÚ´æÖеÄÊý¾Ý£¬»òÕßÎÒÃÇÉèÖÃÁË¡°²»ÔÊÐíÒÆ³ý¡±£¬ÄÇôredisÔò»áÕë¶ÔÄÇЩÐèÒªÉêÇëÄÚ´æµÄÖ¸Áî·µ»Ø´íÎóÐÅÏ¢£¬±ÈÈçSET¡¢LPUSHµÈ¡£µ«ÊǶÔÓÚÎÞÄÚ´æÉêÇëµÄÖ¸ÁÈÔÈ»»áÕý³£ÏìÓ¦£¬±ÈÈçGETµÈ¡£

maxmemory <bytes>

ÐèҪעÒâµÄÒ»µãÊÇ£¬Èç¹ûÄãµÄredisÊÇÖ÷redis£¨ËµÃ÷ÄãµÄredisÓдÓredis£©£¬ÄÇôÔÚÉèÖÃÄÚ´æÊ¹ÓÃÉÏÏÞʱ£¬ÐèÒªÔÚϵͳÖÐÁô³öһЩÄÚ´æ¿Õ¼ä¸øÍ¬²½¶ÓÁлº´æ£¬Ö»ÓÐÔÚÄãÉèÖõÄÊÇ¡°²»ÒƳý¡±µÄÇé¿öÏ£¬²Å²»Óÿ¼ÂÇÕâ¸öÒòËØ¡£

¶ÔÓÚÄÚ´æÒƳý¹æÔòÀ´Ëµ£¬redisÌṩÁ˶à´ï6ÖÖµÄÒÆ³ý¹æÔò¡£ËûÃÇÊÇ£º

1.volatile-lru£ºÊ¹ÓÃLRUËã·¨ÒÆ³ý¹ýÆÚ¼¯ºÏÖеÄkey

2.allkeys-lru£ºÊ¹ÓÃLRUËã·¨ÒÆ³ýkey

3.volatile-random£ºÔÚ¹ýÆÚ¼¯ºÏÖÐÒÆ³ýËæ»úµÄkey

4.allkeys-random£ºÒƳýËæ»úµÄkey

5.volatile-ttl£ºÒƳýÄÇЩTTLÖµ×îСµÄkey£¬¼´ÄÇЩ×î½ü²Å¹ýÆÚµÄkey¡£

6.noeviction£º²»½øÐÐÒÆ³ý¡£Õë¶Ôд²Ù×÷£¬Ö»ÊÇ·µ»Ø´íÎóÐÅÏ¢¡£

ÎÞÂÛʹÓÃÉÏÊöÄÄÒ»ÖÖÒÆ³ý¹æÔò£¬Èç¹ûûÓкÏÊʵÄkey¿ÉÒÔÒÆ³ýµÄ»°£¬redis¶¼»áÕë¶ÔдÇëÇ󷵻شíÎóÐÅÏ¢¡£

maxmemory-policy volatile-lru

LRUËã·¨ºÍ×îСTTLËã·¨¶¼²¢·ÇÊǾ«È·µÄËã·¨£¬¶øÊǹÀËãÖµ¡£ËùÒÔÄã¿ÉÒÔÉèÖÃÑù±¾µÄ´óС¡£¼ÙÈçredisĬÈÏ»á¼ì²éÈý¸ökey²¢Ñ¡ÔñÆäÖÐLRUµÄÄǸö£¬ÄÇôÄã¿ÉÒԸıäÕâ¸ökeyÑù±¾µÄÊýÁ¿¡£

maxmemory-samples 3

×îºó£¬ÎÒÃDz¹³äÒ»¸öÐÅÏ¢£¬ÄǾÍÊǵ½Ä¿Ç°°æ±¾£¨2.8.4£©ÎªÖ¹£¬redisÖ§³ÖµÄдָÁî°üÀ¨ÁËÈçÏÂÕâЩ£º

set setnx setex append
incr decr rpush lpush rpushx lpushx linsert lset rpoplpush sadd
sinter sinterstore sunion sunionstore sdiff sdiffstore zadd zincrby
zunionstore zinterstore hset hsetnx hmset hincrby incrby decrby
getset mset msetnx exec sort

¡¾½ÌÄã¿´¶®redisÅäÖà ¨C ×·¼Óģʽ¡¿

ĬÈÏÇé¿öÏ£¬redis»áÒì²½µÄ½«Êý¾Ý³Ö¾Ã»¯µ½´ÅÅÌ¡£ÕâÖÖģʽÔڴ󲿷ÖÓ¦ÓóÌÐòÖÐÒѱ»ÑéÖ¤ÊǺÜÓÐЧµÄ£¬µ«ÊÇÔÚһЩÎÊÌâ·¢Éúʱ£¬±ÈÈç¶Ïµç£¬ÔòÕâÖÖ»úÖÆ¿ÉÄܻᵼÖÂÊý·ÖÖÓµÄдÇëÇó¶ªÊ§¡£

È粩ÎÄÉϰ벿·ÖÖнéÉܵģ¬×·¼ÓÎļþ£¨Append Only File£©ÊÇÒ»ÖÖ¸üºÃµÄ±£³ÖÊý¾ÝÒ»ÖÂÐԵķ½Ê½¡£¼´Ê¹µ±·þÎñÆ÷¶Ïµçʱ£¬Ò²½ö»áÓÐ1ÃëÖÓµÄдÇëÇó¶ªÊ§£¬µ±redis½ø³Ì³öÏÖÎÊÌâÇÒ²Ù×÷ϵͳÔËÐÐÕý³£Ê±£¬ÉõÖÁÖ»»á¶ªÊ§Ò»ÌõдÇëÇó¡£

ÎÒÃǽ¨Òé´ó¼Ò£¬AOF»úÖÆºÍRDB»úÖÆ¿ÉÒÔͬʱʹÓ㬲»»áÓÐÈκγåÍ»¡£¶ÔÓÚÈçºÎ±£³ÖÊý¾ÝÒ»ÖÂÐÔµÄÌÖÂÛ£¬Çë²Î¼û±¾ÎÄ¡£

appendonly no

ÎÒÃÇ»¹¿ÉÒÔÉèÖÃaofÎļþµÄÃû³Æ£º

appendfilename "appendonly.aof"

fsync()µ÷Óã¬ÓÃÀ´¸æËß²Ù×÷ϵͳÁ¢¼´½«»º´æµÄÖ¸ÁîдÈë´ÅÅÌ¡£Ò»Ð©²Ù×÷ϵͳ»á¡°Á¢¼´¡±½øÐУ¬¶øÁíÍâһЩ²Ù×÷ϵͳÔò»á¡°¾¡¿ì¡±½øÐС£

redisÖ§³ÖÈýÖÖ²»Í¬µÄģʽ£º

1.no£º²»µ÷ÓÃfsync()¡£¶øÊÇÈòÙ×÷ϵͳ×ÔÐоö¶¨syncµÄʱ¼ä¡£ÕâÖÖģʽÏ£¬redisµÄÐÔÄÜ»á×î¿ì¡£

2.always£ºÔÚÿ´ÎдÇëÇóºó¶¼µ÷ÓÃfsync()¡£ÕâÖÖģʽÏ£¬redis»áÏà¶Ô½ÏÂý£¬µ«Êý¾Ý×ȫ¡£

3.everysec£ºÃ¿ÃëÖÓµ÷ÓÃÒ»´Îfsync()¡£ÕâÊÇÐÔÄܺͰ²È«µÄÕÛÖÔ¡£

ĬÈÏÇé¿öÏÂΪeverysec¡£ÓйØÊý¾ÝÒ»ÖÂÐԵĽÒÃØ£¬¿ÉÒԲο¼±¾ÎÄ¡£

appendfsync everysec

µ±fsync·½Ê½ÉèÖÃΪalways»òeverysecʱ£¬Èç¹ûºǫ́³Ö¾Ã»¯½ø³ÌÐèÒªÖ´ÐÐÒ»¸öºÜ´óµÄ´ÅÅÌIO²Ù×÷£¬ÄÇôredis¿ÉÄÜ»áÔÚfsync()µ÷ÓÃʱ¿¨×¡¡£Ä¿Ç°ÉÐδÐÞ¸´Õâ¸öÎÊÌ⣬ÕâÊÇÒòΪ¼´Ê¹ÎÒÃÇÔÚÁíÒ»¸öеÄÏß³ÌÖÐÈ¥Ö´ÐÐfsync()£¬Ò²»á×èÈûסͬ²½Ð´µ÷Óá£

ΪÁË»º½âÕâ¸öÎÊÌ⣬ÎÒÃÇ¿ÉÒÔʹÓÃÏÂÃæµÄÅäÖÃÏÕâÑùµÄ»°£¬µ±BGSAVE»òBGWRITEAOFÔËÐÐʱ£¬fsync()ÔÚÖ÷½ø³ÌÖеĵ÷Óûᱻ×èÖ¹¡£ÕâÒâζ×ŵ±Áíһ·½ø³ÌÕýÔÚ¶ÔAOFÎļþ½øÐÐÖØ¹¹Ê±£¬redisµÄ³Ö¾Ã»¯¹¦ÄܾÍʧЧÁË£¬¾ÍºÃÏñÎÒÃÇÉèÖÃÁË¡°appendsync none¡±Ò»Ñù¡£Èç¹ûÄãµÄredisÓÐʱÑÓÎÊÌ⣬ÄÇôÇ뽫ÏÂÃæµÄÑ¡ÏîÉèÖÃΪyes¡£·ñÔòÇë±£³Öno£¬ÒòΪÕâÊDZ£Ö¤Êý¾ÝÍêÕûÐÔµÄ×ȫµÄÑ¡Ôñ¡£

no-appendfsync-on-rewrite no

ÎÒÃÇÔÊÐíredis×Ô¶¯ÖØÐ´aof¡£µ±aofÔö³¤µ½Ò»¶¨¹æÄ£Ê±£¬redis»áÒþʽµ÷ÓÃBGREWRITEAOFÀ´ÖØÐ´logÎļþ£¬ÒÔËõ¼õÎļþÌå»ý¡£

redisÊÇÕâÑù¹¤×÷µÄ£ºredis»á¼Ç¼ÉÏ´ÎÖØÐ´Ê±µÄaof´óС¡£¼ÙÈçredis×ÔÆô¶¯ÖÁ½ñ»¹Ã»ÓнøÐйýÖØÐ´£¬ÄÇôÆô¶¯Ê±aofÎļþµÄ´óС»á±»×÷Ϊ»ù×¼Öµ¡£Õâ¸ö»ù×¼Öµ»áºÍµ±Ç°µÄaof´óС½øÐбȽϡ£Èç¹ûµ±Ç°aof´óС³¬³öËùÉèÖõÄÔö³¤±ÈÀý£¬Ôò»á´¥·¢ÖØÐ´¡£ÁíÍ⣬Ä㻹ÐèÒªÉèÖÃÒ»¸ö×îС´óС£¬ÊÇΪÁË·ÀÖ¹ÔÚaofºÜСʱ¾Í´¥·¢ÖØÐ´¡£

Hello World!auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb

¡¾½ÌÄã¿´¶®redisÅäÖà ¨C LUA½Å±¾¡¿

lua½Å±¾µÄ×î´óÔËÐÐʱ¼äÊÇÐèÒª±»ÑϸñÏÞÖÆµÄ£¬Òª×¢ÒⵥλÊǺÁÃ룺

lua-time-limit 5000

Èç¹û´ËÖµÉèÖÃΪ0»ò¸ºÊý£¬Ôò¼È²»»áÓб¨´íÒ²²»»áÓÐʱ¼äÏÞÖÆ¡£

¡¾½ÌÄã¿´¶®redisÅäÖà ¨C ÂýÈÕÖ¾¡¿

redisÂýÈÕÖ¾ÊÇÖ¸Ò»¸öϵͳ½øÐÐÈÕÖ¾²éѯ³¬¹ýÁËÖ¸¶¨µÄʱ³¤¡£Õâ¸öʱ³¤²»°üÀ¨IO²Ù×÷£¬±ÈÈçÓë¿Í»§¶ËµÄ½»»¥¡¢·¢ËÍÏìÓ¦ÄÚÈݵȣ¬¶ø½ö°üÀ¨Êµ¼ÊÖ´ÐвéѯÃüÁîµÄʱ¼ä¡£

Õë¶ÔÂýÈÕÖ¾£¬Äã¿ÉÒÔÉèÖÃÁ½¸ö²ÎÊý£¬Ò»¸öÊÇÖ´ÐÐʱ³¤£¬µ¥Î»ÊÇ΢Ã룬ÁíÒ»¸öÊÇÂýÈÕÖ¾µÄ³¤¶È¡£µ±Ò»¸öеÄÃüÁдÈëÈÕ־ʱ£¬×îÀϵÄÒ»Ìõ»á´ÓÃüÁîÈÕÖ¾¶ÓÁÐÖб»ÒƳý¡£

µ¥Î»ÊÇ΢Ã룬¼´1000000±íʾһÃë¡£¸ºÊýÔò»á½ûÓÃÂýÈÕÖ¾¹¦ÄÜ£¬¶ø0Ôò±íÊ¾Ç¿ÖÆ¼Ç¼ÿһ¸öÃüÁî¡£

slowlog-log-slower-than 10000

ÂýÈÕÖ¾×î´ó³¤¶È£¬¿ÉÒÔËæ±ãÌîдÊýÖµ£¬Ã»ÓÐÉÏÏÞ£¬µ«Òª×¢ÒâËü»áÏûºÄÄÚ´æ¡£Äã¿ÉÒÔʹÓÃSLOWLOG RESETÀ´ÖØÉèÕâ¸öÖµ¡£

slowlog-max-len 128

¡¾½ÌÄã¿´¶®redisÅäÖà ¨C ʼþ֪ͨ¡¿

redis¿ÉÒÔÏò¿Í»§¶Ë֪ͨijЩʼþµÄ·¢Éú¡£Õâ¸öÌØÐԵľßÌå½âÊÍ¿ÉÒԲμû±¾ÎÄ¡£

¡¾½ÌÄã¿´¶®redisÅäÖà ¨C ¸ß¼¶ÅäÖá¿

ÓйعþÏ£Êý¾Ý½á¹¹µÄһЩÅäÖÃÏ

hash-max-ziplist-entries 512
hash-max-ziplist-value 64

ÓйØÁбíÊý¾Ý½á¹¹µÄһЩÅäÖÃÏ

list-max-ziplist-entries 512
list-max-ziplist-value 64

Óйؼ¯ºÏÊý¾Ý½á¹¹µÄÅäÖÃÏ

set-max-intset-entries 512

ÓйØÓÐÐò¼¯ºÏÊý¾Ý½á¹¹µÄÅäÖÃÏ

zset-max-ziplist-entries 128
zset-max-ziplist-value 64

¹ØÓÚÊÇ·ñÐèÒªÔÙ¹þÏ£µÄÅäÖÃÏ

activerehashing yes

¹ØÓÚ¿Í»§¶ËÊä³ö»º³åµÄ¿ØÖÆÏ

client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60

ÓÐ¹ØÆµÂʵÄÅäÖÃÏ

hz 10

ÓйØÖØÐ´aofµÄÅäÖÃÏî

aof-rewrite-incremental-fsync yes

ÖÁ´Ë£¬redisµÄÈëÃÅÄÚÈݾͽáÊøÁË£¬ÄÚÈÝʵÔÚ²»ÉÙ£¬µ«Ïà¶ÔÀ´Ëµ¶¼ºÜ»ù´¡£¬±¾ÎÄûÓÐÉæ¼°redis¼¯Èº¡¢redis¹¤×÷Ô­Àí¡¢redisÔ´Âë¡¢redisÏà¹ØLIB¿âµÈÄÚÈÝ£¬ºóÐø»áÂ½Ðø·îÏ×£¬´ó¼Ò¾´ÇëÆÚ´ý£º£©

   
3114 ´Îä¯ÀÀ       32
Ïà¹ØÎÄÕÂ

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

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

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