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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
RedisÊÂÎñ
 
×÷ÕߣºHRADPX
  3388  次浏览      31
2020-11-19
 
±à¼­ÍƼö:
±¾ÎÄÖ÷Òª½éÉÜÁËÒ»¸öÊÂÎñ´Ó¿ªÊ¼µ½½áÊøµÄÈý¸ö½×¶Î£¬ÒÔ¼°WATCHÃüÁîµÄʵÏÖ£¬ÊÂÎñµÄACIDÐÔÖÊ£¬Ï£Íû¶ÔÄúµÄѧϰÓÐËù°ïÖú¡£
±¾ÎÄÀ´×Ô¼òÊ飬ÓÉ»ðÁú¹ûÈí¼þAlice±à¼­¡¢ÍƼö¡£

Redisͨ¹ýMULTI¡¢EXEC¡¢WATCHµÈÃüÁîÀ´ÊµÏÖÊÂÎñ£¨transaction£©¹¦ÄÜ¡£ÊÂÎñÌṩÁËÒ»ÖÖ½«¶à¸öÃüÁîÇëÇó´ò°ü£¬È»ºóÒ»´ÎÐÔ¡¢°´Ë³ÐòµØÖ´Ðжà¸öÃüÁîµÄ»úÖÆ£¬²¢ÇÒÔÚÊÂÎñÖ´ÐÐÆÚ¼ä£¬·þÎñÆ÷²»»áÖжÏÊÂÎñ¶øÈ¥Ö´ÐÐÆäËû¿Í»§¶ËÃüÁî¡£

1 ÊÂÎñµÄʵÏÖ

Ò»¸öÊÂÎñ´Ó¿ªÊ¼µ½½áÊøÍ¨³£¾­ÀúÈý¸ö½×¶Î£º

(1) ÊÂÎñ¿ªÊ¼

(2) ÃüÁîÈë¶Ó

(3) ÊÂÎñÖ´ÐÐ

1.1 ÊÂÎñ¿ªÊ¼

MULTIÃüÁîµÄÖ´ÐбêÖ¾×ÅÊÂÎñµÄ¿ªÊ¼£º

127.0.0.1:6379> MULTI
OK

MULTIÃüÁî¿ÉÒÔ½«Ö´ÐиÃÃüÁîµÄ¿Í»§¶Ë´Ó·ÇÊÂÎñ״̬Çл»ÖÁÊÂÎñ״̬¡£

1.2 ÃüÁîÈë¶Ó

µ±Ò»¸ö¿Í»§¶Ë´¦ÓÚ·ÇÊÂÎñ״̬ʱ£¬Õâ¸ö¿Í»§¶ËµÄÃüÁî»áÁ¢¼´±»·þÎñÆ÷Ö´ÐС£Óë´Ë²»Í¬µÄÊÇ£¬µ±Ò»¸ö¿Í»§¶ËÇл»µ½ÊÂÎñ״̬֮ºó£¬·þÎñÆ÷»á¸ù¾ÝÕâ¸ö¿Í»§¶Ë·¢À´µÄ²»Í¬µÄÃüÁîÖ´Ðв»Í¬µÄ²Ù×÷£º

(1) Èç¹û¿Í»§¶Ë·¢Ë͵ÄÃüÁîΪEXEC¡¢DISCARD¡¢WATCH¡¢MULTIËĸöÃüÁîÖÐµÄÆäÖÐÒ»¸ö£¬ÄÇô·þÎñÆ÷»áÁ¢¼´Ö´ÐÐÕâ¸öÃüÁî¡£

(2) Èç¹û¿Í»§¶Ë·¢Ë͵ÄÃüÁîÊÇEXEC¡¢DISCARD¡¢WATCH¡¢MULTIËĸöÃüÁîÒÔΪµÄÆäËûÃüÁÄÇô·þÎñÆ÷²»»áÁ¢¼´Ö´ÐÐÕâ¸öÃüÁ¶øÊǽ«Õâ¸öÃüÁî·ÅÔÚÒ»¸öÊÂÎñ¶ÓÁÐÖУ¬È»ºóÏò¿Í»§¶Ë·µ»ØQUEUED»Ø¸´¡£

·þÎñÆ÷ÅжÏÃüÁîÊǸÃÈë¶Ó»¹ÊǸÃÖ´ÐеĹý³Ì

1.3 ÊÂÎñ¶ÓÁÐ

ÊÂÎñ¶ÓÁÐÊÇÒ»¸öÒÔÏȽøÏȳö£¨FIFO£©µÄ·½Ê½±£´æÈë¶ÓµÄÃüÁ½ÏÏÈÈë¶ÓµÄÃüÁî»á±»·Åµ½Êý×éµÄÇ°Ãæ£¬¶ø½ÏºóÈë¶ÓµÄÃüÁîÔò»á±»·Åµ½Êý×éµÄºóÃæ¡£ÀýÈ磺

127.0.0.1:6379>> MULTI
OK
127.0.0.1:6379>> set name Redis;
QUEUED
127.0.0.1:6379>> get name;
QUEUED
127.0.0.1:6379>> set author "Peter Seibei";
QUEUED
127.0.0.1:6379>> get author;
QUEUED

ÄÇô·þÎñÆ÷Æ÷½«»áΪ¿Í»§¶Ë´´½¨Ò»¸öÊÂÎñ¶ÓÁУ¬½«ÉÏÃæ4ÌõÃüÁîÈë¶Ó£¬×îÏÈÈë¶ÓµÄSETÃüÁî·ÅÔÚÊÂÎñ¶ÓÁеÄ×îÇ°Ãæ¡­¡­£º

ÊÂÎñ¶ÓÁÐ

1.4 Ö´ÐÐÊÂÎñ

µ±Ò»¸ö´¦ÓÚÊÂÎñ״̬µÄ¿Í»§¶ËÏò·þÎñÆ÷·¢ËÍEXECÃüÁîʱ£¬Õâ¸öEXECÃüÁÁ¢¼´±»·þÎñÆ÷Ö´ÐС£·þÎñÆ÷»á±éÀúÕâ¸ö¿Í»§¶ËµÄÊÂÎñ¶ÓÁУ¬Ö´ÐжÓÁÐÖб£´æµÄËùÓеÄÃüÁ×îºó½«Ö´ÐÐÃüÁîËùµÃµÄ½á¹û·µ»Ø¸ø¿Í»§¶Ë¡£¶ÔÓÚÉÏÀý×Ó£º

127.0.0.1:6379> EXEC
1) OK
2) "Redis"
3) OK
4) "Peter Seibei"

2 WATCHÃüÁîµÄʵÏÖ

WATCHÃüÁîÊÇÒ»¸öÀÖ¹ÛËù£¨optimistic locking£©£¬Ëü¿ÉÒÔÔÚEXECÃüÁîÖ´ÐÐǰ£¬¼àÊÓÈÎÒâÊýÁ¿µÄÊý¾Ý¿â¼ü£¬²¢ÔÚEXECÃüÁîÖ´ÐÐʱ£¬¼ì²é¼àÊӵļüÊÇ·ñÖÁÉÙÓÐÒ»¸öÒѾ­±»Ð޸ĹýÁË£¬Èç¹ûÐ޸ĹýÁË£¬·þÎñÆ÷½«¾Ü¾øÖ´ÐÐÊÂÎñ£¬²¢Ïò¿Í»§¶Ë·µ»Ø´ú±íÊÂÎñÖ´ÐÐʧ°ÜµÄ¿Õ»Ø¸´¡£ÀýÈ磬ÏÂÃæµÄÊÂÎñ½«»áÖ´ÐÐʧ°Ü£º

127.0.0.1:6379>> WATCH name
OK
127.0.0.1:6379>> MULTI
OK
127.0.0.1:6379>> set "name" "Peter"
QUEUED
127.0.0.1:6379>> EXEC
(nil)

 

ÔÚʱ¼äT4£¬¿Í»§¶ËBÐÞ¸ÄÁË"name"¼üµÄÖµ£¬µ±¿Í»§¶ËAÔÚT5Ö´ÐÐEXECÃüÁîʱ£¬·þÎñÆ÷»á·¢ÏÖWATCH¼àÊӵļü¡°name¡±ÒѾ­±»Ð޸ģ¬Òò´Ë·þÎñÆ÷¾Ü¾øÖ´Ðпͻ§¶ËAµÄÊÂÎñ£¬²¢Ïò¿Í»§¶ËA·µ»Ø¿Õ»Ø¸´¡£

2.1ʹÓÃWATCHÃüÁî¼àÊÓÊý¾Ý¿â¼ü

ÿ¸öRedisÊý¾Ý¿â±£´æ×ÅÒ»¸öwatched_keys×ֵ䣬Õâ¸ö×ÖµäµÄ¼üÊÇij¸ö±»WATCHÃüÁî¼àÊÓµÄÊý¾Ý¿â¼ü£¬¶ø×ÖµäµÄÖµÊÇÒ»¸öÁ´±í£¬Á´±í¼Ç¼ÁËËùÓмàÊÓÏàÓ¦Êý¾Ý¿â¼üµÄ¿Í»§¶Ë¡£

Ò»¸öwatched_keys×Öµä

ÉÏͼ±íÃ÷£º

(1) ¿Í»§¶Ëc1ºÍc2ÕýÔÚ¼àÊÓ¼ü¡°name¡±¡£

(2) ¿Í»§¶Ëc3ÕýÔÚ¼àÊÓ¼ü¡°age¡±¡£

(3) ¿Í»§¶Ëc2ºÍc4ÕýÔÚ¼àÊÓ¼ü¡°address¡±¡£

2.2 ¼àÊÓ»úÖÆµÄ´¥·¢

ËùÓжÔÊý¾Ý¿â½øÐÐÐÞ¸ÄÃüÁÈçSET¡¢LPUSH¡¢SADD¡¢ZREM¡¢DELµÈ£¬ÔÚÖ´Ðк󶼻á¶Ôwatched_keys×ֵ佸Ðмì²é£¬²é¿´±»Ð޸ĵÄÊý¾Ý¿â¼üÊÇ·ñÊDZ»¿Í»§¶ËËù¼àÊӵļü£¬Èç¹ûÓеϰ£¬¿Í»§¶ËREDIS_DIRTY_CAS±êʶ½«»á±»´ò¿ª£¬±íʾ¸Ã¿Í»§¶ËµÄÊÂÎñ°²È«ÐÔÒѾ­±»ÆÆ»µ¡£

2.3 ÅжÏÊÂÎñÊÇ·ñ°²È«

µ±·þÎñÆ÷½ÓÊÕµ½Ò»¸ö¿Í»§¶Ë·¢À´µÄEXECÃüÁ·þÎñÆ÷»á¸ù¾ÝÕâ¸ö¿Í»§¶ËÊÇ·ñ´ò¿ªÁËREDIS_DIRTY_CAS±êʶÀ´¾ö¶¨ÊÇ·ñÖ´ÐÐÊÂÎñ£º

(1) Èç¹û¿Í»§¶ËµÄREDIS_DIRTY_ CAS±êʶÒѾ­±»´ò¿ª£¬ÄÇô˵Ã÷¿Í»§¶ËËù¼àÊӵļüµ±ÖУ¬ÖÁÉÙÓÐÒ»¸ö¼üÒѾ­±»Ð޸ĹýÁË£¬ÔÚÕâÖÖÇé¿öÏ£¬¿Í»§¶ËÌá½»µÄÊÂÎñÒѾ­²»ÔÙ°²È«£¬ËùÒÔ·þÎñÆ÷¾Ü¾øÖ´Ðпͻ§¶ËÌá½»µÄÊÂÎñ¡£

(2) Èç¹û¿Í»§¶ËµÄREDIS_DIRTY_CAS±êʶûÓб»´ò¿ª£¬ÄÇô˵Ã÷¿Í»§¶Ë¼àÊÓµÄËùÓмü¶¼Ã»Óб»Ð޸Ĺý£¨»òÕ߿ͻ§¶ËûÓмàÊÓÈκμü£©£¬ÊÂÎñÈÔÈ»Êǰ²È«µÄ£¬·þÎñÆ÷½«Ö´Ðпͻ§¶ËÌá½»µÄÕâ¸öÊÂÎñ¡£

3 ÊÂÎñµÄACIDÐÔÖÊ

ÔÚRedisÖУ¬ÊÂÎñ×ÜÊǾßÓÐÔ­×ÓÐÔ£¨Atomicity£©¡¢Ò»ÖÂÐÔ£¨Consistency£©ºÍ¸ôÀëÐÔ£¨Isolation£©£¬²¢ÇÒµ±RedisÔËÐÐÔÚijÖÖÌØ¶¨µÄ³Ö¾Ã»¯Ä£Ê½Ï£¬ÊÂÎñÒ²¾ßÓÐÄ;ÃÐÔ£¨Durability£©¡£

3.1 Ô­×ÓÐÔ

ÊÂÎñ¾ßÓÐÔ­×ÓÐÔÖ¸µÄÊÇ£¬ Êý¾Ý¿â½«ÊÂÎñÖеĶà¸ö²Ù×÷µ±×÷Ò»¸öÕûÌåÀ´Ö´ÐУ¬·þÎñÆ÷Ҫô¾ÍÖ´ÐÐÊÂÎñÖеÄËùÓвÙ×÷£¬ Ҫô¾ÍÒ»¸ö²Ù×÷Ò²²»Ö´ÐС£

¶ÔÓÚRedisµÄÊÂÎñ¹¦ÄÜÀ´Ëµ£¬ÊÂÎñ¶ÓÁÐÖеÄÃüÁîҪô¾ÍÈ«²¿¶¼Ö´ÐУ¬ÒªÃ´¾ÍÒ»¸ö¶¼²»Ö´ÐУ¬Òò´Ë£¬ RedisµÄÊÂÎñÊǾßÓÐÔ­×ÓÐԵġ£

ÏÂÃæÊÇÒ»¸öÖ´ÐÐʧ°ÜµÄÊÂÎñ£¬Õâ¸öÊÂÎñÒòΪÃüÁîÈë¶Ó³ö´í¶ø±»·þÎñÆ÷¾Ü¾øÖ´ÐУº

127.0.0.1:6379> multi
OK
127.0.0.1:6379> set msg hello
QUEUED
127.0.0.1:6379> get
(error) ERR wrong number of arguments for 'get' command
127.0.0.1:6379> get msg
QUEUED
127.0.0.1:6379> exec
(error) EXECABORT Transaction discarded because of previous errors.

RedisµÄÊÂÎñºÍ´«Í³µÄ¹ØÏµÐÍÊý¾Ý¿âÊÂÎñµÄ×î´óÇø±ðÔÚÓÚ£¬Redis²»Ö§³ÖÊÂÎñ»Ø¹ö»úÖÆ(rollback)£¬ ¼´Ê¹ÊÂÎñ¶ÓÁÐÖеÄij¸öÃüÁîÔÚÖ´ÐÐÆÚ¼ä³öÏÖÁË´íÎó£¬Õû¸öÊÂÎñÒ²»á¼ÌÐøÖ´ÐÐÏÂÈ¥£¬Ö±µ½½«ÊÂÎñ¶ÓÁÐÖеÄËùÓÐÃüÁî¶¼Ö´ÐÐÍê±ÏΪֹ¡£

ÏÂÃæÕ¹Ê¾Á˼´Ê¹RPUSHÃüÁîÔÚÖ´ÐÐÆÚ¼ä³öÏÖÁË´íÎó£¬ÊÂÎñµÄºóÐøÃüÁîÒ²»á¼ÌÐøÖ´ÐÐÏÂÈ¥£¬ ²¢ÇÒ֮ǰִÐеÄÃüÁîÒ²²»»áÓÐÈκÎÓ°Ï죺

127.0.0.1:6379> set msg hello
OK
127.0.0.1:6379> multi
OK
127.0.0.1:6379> sadd fruit apple banana cherry
QUEUED
127.0.0.1:6379> rpush msg bye redis
QUEUED
127.0.0.1:6379> sadd alphabet a b c
QUEUED
127.0.0.1:6379> exec
1) (integer) 3
2) (error) WRONGTYPE Operation against a key holding the wrong kind of value
3) (integer) 3

RedisΪʲô²»Ö§³Ö»Ø¹ö£º²»Ö§³ÖÊÂÎñ»Ø¹öÊÇÒòΪÕâÖÖ¸´ÔӵŦÄܺÍRedis×·Çó¼òµ¥¸ßЧµÄÉè¼ÆÖ÷Ö¼²»Ïà·û£¬²¢ÇÒRedisÊÂÎñµÄÖ´ÐÐʱ´íÎóͨ³£¶¼ÊDZà³Ì´íÎó²úÉúµÄ£¬ ÕâÖÖ´íÎóͨ³£Ö»»á³öÏÖÔÚ¿ª·¢»·¾³ÖУ¬ ¶øºÜÉÙ»áÔÚʵ¼ÊµÄÉú²ú»·¾³ÖгöÏÖ¡£

3.2 Ò»ÖÂÐÔ

ÊÂÎñµÄÒ»ÖÂÐÔÊÇÖ¸£¬Èç¹ûÊý¾Ý¿âÖ´ÐÐǰÊÇÒ»Öµģ¬ÄÇôÔÚÊÂÎñÖ´Ðкó£¬ÎÞÂÛÊÂÎñÊÇ·ñÖ´Ðгɹ¦£¬Êý¾Ý¿âÒ²Ó¦¸ÃÊÇÒ»Öµġ£

3.2.1Èë¶Ó´íÎó

Èç¹ûÒ»¸öÊÂÎñÔÚÈë¶ÓÃüÁîµÄ¹ý³ÌÖУ¬³öÏÖÁËÃüÁî²»´æÔÚ£¬»òÕßÃüÁîµÄ¸ñʽ²»ÕýÈ·µÈÇé¿ö£¬ ÄÇôRedis½«¾Ü¾øÖ´ÐÐÕâ¸öÊÂÎñ¡£ÒòΪ·þÎñÆ÷»á¾Ü¾øÖ´ÐÐÈ˶ӹý³ÌÖгöÏÖ´íÎóµÄÊÂÎñ£¬ ËùÒÔRedisÊÂÎñµÄÒ»ÖÂÐÔ²»»á±»´øÓÐÈë¶Ó´íÎóµÄÊÂÎñÓ°Ïì¡£

127.0.0.1:6379> multi
OK
127.0.0.1:6379> set msg hello
QUEUED
127.0.0.1:6379> YAHOOO
(error) ERR unknown command 'YAHOOO'
127.0.0.1:6379> get msg
QUEUED
127.0.0.1:6379> exec
(error) EXECABORT Transaction discarded because of previous errors

Redis 2.6.5ÒÔǰµÄÈë¶Ó´íÎó´¦Àí£ºRedis»áºöÂÔ´íÎóµÄÃüÁ¶øÕýÈ·µÄÃüÁîÈçÉÏÃæµÄSETºÍGETÈÔÈ»»á±»Ö´ÐС£

3.2.2 Ö´ÐдíÎó

Ö´ÐдíÎóͨ³£¶¼ÊÇһЩ²»ÄÜÔÚÈë¶Óʱ±»·þÎñÆ÷·¢ÏֵĴíÎó£¬ ÕâЩ´íÎóÖ»»áÔÚÃüÁîʵ¼ÊÖ´ÐÐʱ±»´¥·¢¡£¼´Ê¹ÔÚÊÂÎñµÄÖ´Ðйý³ÌÖз¢ÉúÁË´íÎó£¬ ·þÎñÆ÷Ò²²»»áÖжÏÊÂÎñµÄÖ´ÐУ¬ Ëü»á¼ÌÐøÖ´ÐÐÊÂÎñÖÐÓàÏÂµÄÆäËûÃüÁ ²¢ÇÒÒÑÖ´ÐеÄÃüÁ°üÀ¨Ö´ÐÐÃüÁîËù²úÉúµÄ½á¹û£©²»»á±»³ö´íµÄÃüÁîÓ°Ïì¡£

ÒòΪÔÚÊÂÎñÖ´ÐеĹý³ÌÖУ¬ ³ö´íµÄÃüÁî»á±»·þÎñÆ÷ʶ±ð³öÀ´£¬ ²¢½øÐÐÏàÓ¦µÄ´íÎó´¦Àí£¬ ËùÒÔÕâЩ³ö´íÃüÁî²»»á¶ÔÊý¾Ý¿â×öÈκÎÐ޸ģ¬ Ò²²»»á¶ÔÊÂÎñµÄÒ»ÖÂÐÔ²úÉúÈκÎÓ°Ïì¡£

127.0.0.1:6379> set msg hello
OK
127.0.0.1:6379> multi
OK
127.0.0.1:6379> sadd fruit apple banana cherry
QUEUED
127.0.0.1:6379> rpush msg bye redis
QUEUED
127.0.0.1:6379> sadd alphabet a b c
QUEUED
127.0.0.1:6379> exec
1) (integer) 3
2) (error) WRONGTYPE Operation against a key holding the wrong kind of value
3) (integer) 3

3.2.3 ·þÎñÆ÷Í£»ú

(1) Èç¹û·þÎñÆ÷ÔËÐÐÔÚÎ޳־û¯µÄÄÚ´æÄ£Ê½Ï£¬ÄÇÃ´ÖØÆôÖ®ºóµÄÊý¾Ý¿â½«Êǿհ׵ģ¬ Òò´ËÊý¾Ý×ÜÊÇÒ»Öµġ£

(2) Èç¹û·þÎñÆ÷ÔËÐÐÔÚRDBģʽ»òAOFģʽÏ£¬ ÄÇôÔÚÊÂÎñÖÐ;ͣ»ú²»»áµ¼Ö²»Ò»Ö£¬ÒòΪ·þÎñÆ÷¿ÉÒÔ¸ù¾ÝRDBÎļþ»òAOFÎļþÀ´»Ø¸´Êý¾Ý£¬´Ó¶ø½«Êý¾Ý¿â»¹Ô­µ½Ò»¸öÒ»ÖµÄ״̬¡£

3.3 ¸ôÀëÐÔ

ÊÂÎñµÄ¸ôÀëÐÔÖ¸µÄÊÇ£¬¼´Ê¹Êý¾Ý¿âÖÐÓжà¸öÊÂÎñ²¢·¢µØÖ´ÐУ¬¸÷¸öÊÂÎñÖ®¼äÒ²²»»á»¥Ïà Ó°Ï죬²¢ÇÒÔÚ²¢·¢×´Ì¬ÏÂÖ´ÐеÄÊÂÎñºÍ´®ÐÐÖ´ÐеÄÊÂÎñ²úÉúµÄ½á¹ûÍêÈ«Ïàͬ¡£

ÒòΪRedisʹÓõ¥Ï̵߳ķ½Ê½À´Ö´ÐÐÊÂÎñ£¨ÒÔ¼°ÊÂÎñ¶ÓÁÐÖеÄÃüÁ£¬²¢ÇÒ·þÎñÆ÷±£Ö¤£¬ ÔÚÖ´ÐÐÊÂÎñÆÚ¼ä²»»á¶ÔÊÂÎñ½øÐÐÖжϣ¬Òò´Ë£¬RedisµÄÊÂÎñ×ÜÊÇÒÔ´®Ðеķ½Ê½ÔËÐе쬲¢ÇÒ ÊÂÎñÒ²×ÜÊǾßÓиôÀëÐԵġ£

3.4 Ä;ÃÐÔ

ÊÂÎñµÄÄ;ÃÐÔÖ¸µÄÊÇ£¬µ±Ò»¸öÊÂÎñÖ´ÐÐÍê±Ïʱ£¬Ö´ÐÐÕâ¸öÊÂÎñËùµÃµÄ½á¹ûËȾ­±»±£´æµ½ ÓÀ¾ÃÐÔ´æ´¢½éÖÊ£¨±ÈÈçÓ²ÅÌ£©ÀïÃæÁË£¬ ¼´Ê¹·þÎñÆ÷ÔÚÊÂÎñÖ´ÐÐÍê±Ï Ö®ºóÍ£»ú£¬ Ö´ÐÐÊÂÎñËùµÃµÄ½á¹ûÒ²²»»á¶ªÊ§¡£RedisÊÂÎñµÄÄ;ÃÐÔÓÉ·þÎñÆ÷ËùʹÓó־û¯Ä£Ê½¾ö¶¨µÄ£º

(1) µ±·þÎñÆ÷ÔÚÎ޳־û¯µÄÄÚ´æÄ£Ê½ÏÂÔË×÷ʱ£¬ÊÂÎñ²»¾ßÓÐÄ;ÃÐÔ¡£ÒòΪһµ©·þÎñÆ÷Í£»ú£¬

·þÎñÆ÷ËùÓеÄÊý¾Ý¶¼½«¶ªÊ§¡£

(2) µ±·þÎñÆ÷ÔÚROB³Ö¾Ã»¯Ä£Ê½ÏÂÔË×÷ʱ£¬ÊÂÎñͬÑù²»¾ßÓÐÄ;ÃÐÔ¡£ÒòΪ·þÎñÆ÷Ö»»áÔÚÌØ¶¨µÄ±£´æÌõ¼þϲŻáÖ´ÐÐBGSAVEÃüÁ²¢ÇÒÒì²½Ö´ÐеÄBGSAVEÃüÁî²»Äܱ£Ö¤ÊÂÎñµÄÊý¾ÝµÚһʱ¼ä±»±£´æµ½Ó²ÅÌÉÏ¡£

(3) µ±·þÎñÆ÷ÔËÐÐÔÚAOF³Ö¾Ã»¯Ä£Ê½Ï£¬²¢ÇÒappendfsyncÑ¡ÏîµÄֵΪalwaysʱ£¬³ÌÐò×Ü»áÔÚÖ´ÐÐÃüÁîÖ®ºóµ÷ÓÃͬ²½(sync)º¯Êý£¬½«ÃüÁîÊý¾ÝÕæÕýµØ±£´æµ½Ó²ÅÌÀï¡£

4 С½á

(1) ÊÂÎñÌṩÁËÒ»ÖÖ½«¶à¸öÃüÁî´ò°ü£¬È»ºóÒ»´ÎÐÔ¡¢ÓÐÐòµØÖ´ÐеĻúÖÆ¡£

(2) ¶à¸öÃüÁî»á±»È˶ӵ½ÊÂÎñ¶ÓÁÐÖУ¬ È»ºó°´ÏȽøÏȳö(FIFO)µÄ˳ÐòÖ´ÐС£

(3) ÊÂÎñÔÚÖ´Ðйý³ÌÖв»»á±»Öжϣ¬µ±ÊÂÎñ¶ÓÁÐÖеÄËùÓÐÃüÁî¶¼±»Ö´ÐÐÍê±ÏÖ®ºó£¬ÊÂÎñ²Å»á½áÊø¡£

(4) ´øÓÐWATCHÃüÁîµÄÊÂÎñ»á½«¿Í»§¶ËºÍ±»¼àÊӵļüÔÚÊý¾Ý¿âµÄwatched_keys×ֵ乨Áª£¬µ±¼ü±»ÐÞ¸Äʱ£¬³ÌÐò»á½«ËùÓмàÊÓ±»Ð޸ļüµÄ¿Í»§¶ËµÄREDIS_DIRTY_CAS±êʶ´ò¿ª£¬·þÎñÖ»ÓÐÔÚREDIS_DIRTY_CAS±êʶûÓдò¿ªÊ±£¬²Å»áÖ´Ðпͻ§¶ËÌá½»µÄÊÂÎñ£¬·ñÔò·þÎñÆ÷¾Ü¾øÖ´ÐÐÊÂÎñ¡£

(5) RedisÊÂÎñ²»Ö§³Ö»Ø¹ö»úÖÆ¡£

(6) RedisµÄÊÂÎñ×ÜÊǾßÓÐACIDÖеÄÔ­×ÓÐÔ¡¢Ò»ÖÂÐԺ͸ôÀëÐÔ£¬µ±·þÎñÆ÷ÔËÐÐÔÚAOF³Ö¾Ã»¯Ä£Ê½Ï£¬²¢ÇÒappendfsyncÑ¡ÏîµÄֵΪalwaysʱ£¬ÊÂÎñÒ²¾ßÓÐÄ;ÃÐÔ¡£

 

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

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

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

Êý¾ÝÖÎÀí¡¢Êý¾Ý¼Ü¹¹¼°Êý¾Ý±ê×¼
MongoDBʵս¿Î³Ì
²¢·¢¡¢´óÈÝÁ¿¡¢¸ßÐÔÄÜÊý¾Ý¿âÉè¼ÆÓëÓÅ»¯
PostgreSQLÊý¾Ý¿âʵսÅàѵ
×îл¼Æ»®
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢ 6-12[ÏÃÃÅ]
È˹¤ÖÇÄÜ.»úÆ÷ѧϰTensorFlow 6-22[Ö±²¥]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 6-30[±±¾©]
ǶÈëʽÈí¼þ¼Ü¹¹-¸ß¼¶Êµ¼ù 7-9[±±¾©]
Óû§ÌåÑé¡¢Ò×ÓÃÐÔ²âÊÔÓëÆÀ¹À 7-25[Î÷°²]
ͼÊý¾Ý¿âÓë֪ʶͼÆ× 8-23[±±¾©]
 
×îÐÂÎÄÕÂ
InfluxDB¸ÅÄîºÍ»ù±¾²Ù×÷
InfluxDB TSM´æ´¢ÒýÇæÖ®Êý¾ÝдÈë
Éî¶ÈÂþ̸Êý¾Ýϵͳ¼Ü¹¹¡ª¡ªLambda architecture
Lambda¼Ü¹¹Êµ¼ù
InfluxDB TSM´æ´¢ÒýÇæÖ®Êý¾Ý¶ÁÈ¡
×îпγÌ
OracleÊý¾Ý¿âÐÔÄÜÓÅ»¯¡¢¼Ü¹¹Éè¼ÆºÍÔËÐÐά»¤
²¢·¢¡¢´óÈÝÁ¿¡¢¸ßÐÔÄÜÊý¾Ý¿âÉè¼ÆÓëÓÅ»¯
NoSQLÊý¾Ý¿â£¨Ô­Àí¡¢Ó¦Óá¢×î¼Ñʵ¼ù£©
ÆóÒµ¼¶Hadoop´óÊý¾Ý´¦Àí×î¼Ñʵ¼ù
OracleÊý¾Ý¿âÐÔÄÜÓÅ»¯×î¼Ñʵ¼ù
³É¹¦°¸Àý
ij½ðÈÚ¹«Ë¾ Mysql¼¯ÈºÓëÐÔÄÜÓÅ»¯
±±¾© ²¢·¢¡¢´óÈÝÁ¿¡¢¸ßÐÔÄÜÊý¾Ý¿âÉè¼ÆÓëÓÅ»¯
ÖªÃûijÐÅϢͨÐŹ«Ë¾ NoSQL»º´æÊý¾Ý¿â¼¼Êõ
±±¾© oracleÊý¾Ý¿âSQLÓÅ»¯
ÖйúÒÆ¶¯ IaaSÔÆÆ½Ì¨-Ö÷Á÷Êý¾Ý¿â¼°´æ´¢¼¼Êõ