Celery: ćƒ–ćƒ­ćƒ¼ć‚«ćƒ¼ć‚µćƒćƒ¼ćƒˆćØ恗恦Redis悒非ęŽØå„Øć«ć™ć‚‹ęę”ˆć€‚ [ę‹’å¦]

ä½œęˆę—„ 2016幓06꜈24ę—„  Ā·  54ć‚³ćƒ”ćƒ³ćƒˆ  Ā·  ć‚½ćƒ¼ć‚¹: celery/celery

Redisć®ć‚µćƒćƒ¼ćƒˆć‚’å‰Šé™¤ć—ćŸå “åˆć€RabbitMQć€ć¾ćŸćÆ恊恝悉恏Kafka / nsq恫Ꙃ間悒集äø­ć•ć›ć‚‹ć“ćØćŒć§ćć¾ć™ć€‚
Python3恧asyncio恫ē§»ę¤ć™ć‚‹ćØć„ć†å¤§ććŖć‚æć‚¹ć‚Æć‚‚ć‚ć‚Šć¾ć™ć€‚

恓悌ćÆēœŸå‰£ć«ę¤œčØŽć•ć‚Œć‚‹ć¹ćć ćØę€ć„ć¾ć™ć€‚ ē§ćŸć”ćŒę„½ć—ćæć®ćŸć‚ć«ć“ć‚Œć«å–ć‚Šēµ„ć‚€ć®ć§ć‚ć‚Œć°ć€č¼øé€ę©Ÿé–¢ć®äŗŗ갗ćÆé‡č¦ć§ćÆć‚ć‚Šć¾ć›ć‚“ć€‚

ēµå±€ć€ē§ćÆćØć«ć‹ćå–ć‚Šēµ„ć‚€čƒ½åŠ›ćŒć‚ć‚‹ć‚‚ć®ć‚’éøć³ć¾ć™ćŒć€å°‘ćŖ恏ćØ悂恂ćŖ恟ćÆ恓恓恧恂ćŖćŸć®ę‡øåæµć‚’č”Ø꘎恙悋恓ćØćŒć§ćć¾ć™ć€‚

Project Governance

ęœ€ć‚‚å‚č€ƒć«ćŖć‚‹ć‚³ćƒ”ćƒ³ćƒˆ

悄恂怂 ē§ćÆRedisLabsć§åƒć„ć¦ćŠć‚Šć€ęœ€čæ‘ć¾ć§ć‚»ćƒ­ćƒŖć®ćƒ¦ćƒ¼ć‚¶ćƒ¼ć§ć—ćŸć€‚ @thedrowćÆ恓悌悒ē§ć®ę³Øę„ć‚’å¼•ćć¾ć—ćŸć€ćć—ć¦ē§é”ćÆć“ć‚Œć‚’å†…éƒØć§č­°č«–ć—ć¾ć—ćŸć€‚ ē§ćŸć”ćÆēš†ć•ć‚“ć‚’å–œć‚“ć§ćŠę‰‹ä¼ć„ć—ć¾ć™ć€‚ć‚»ćƒ­ćƒŖ恮äø€éƒØćØ恗恦redis悒ē¶­ęŒć™ć‚‹ć“ćØćŒé‡č¦ć ćØč€ƒćˆć¦ć„ć¾ć™ć€‚ 個äŗŗēš„恫悄悋恮恋态他恮äŗŗ恫悄悋恮恋ćÆć¾ć ć‚ć‹ć‚Šć¾ć›ć‚“ćŒć€ä½•ć‚’ć™ć‚‹åæ…č¦ćŒć‚ć‚‹ć®ć‹ā€‹ā€‹ć‚’č©±ć—åˆć„ć¾ć—ć‚‡ć†ć€‚

å…Øć¦ć®ć‚³ćƒ”ćƒ³ćƒˆ54件

ē¾åœØć€ć‚»ćƒ­ćƒŖć®ä»£ę›æå“ćŒå­˜åœØć—ć¾ć™ć€‚ćŸćØ恈恰态 huey悄rq ć€ćƒ–ćƒ­ćƒ¼ć‚«ćƒ¼ćØ恗恦恮redisć®ć‚µćƒćƒ¼ćƒˆć«ę˜Žē¤ŗēš„恫ē„¦ē‚¹ć‚’å½“ć¦ć¦ć„ć¾ć™ć€‚ ć‚»ćƒ­ćƒŖ恌ćƒŖćƒŖćƒ¼ć‚¹ć•ć‚ŒćŸćØćć€ä½•ć‚‚ć‚ć‚Šć¾ć›ć‚“ć§ć—ćŸć€‚

@ask SQLćƒ–ćƒ­ćƒ¼ć‚«ćƒ¼ć®ć‚µćƒćƒ¼ćƒˆć‚‚
ć¾ćŸć€dockerć‚‚ć‚ć‚Šć¾ć™ć€‚ć“ć‚ŒćÆ态rabbitmqć®ćƒ‡ćƒ—ćƒ­ć‚¤ćŒę–‡å­—é€šć‚Š1ć¤ć®ć‚³ćƒžćƒ³ćƒ‰ć§ęøˆć‚€ć“ćØć‚’ę„å‘³ć—ć¾ć™ć€‚ ć‚‚ć†é›£ć—ć„ć“ćØ恧ćÆć‚ć‚Šć¾ć›ć‚“ć€‚

RabbitMQ / Redis / SQS / Qpidä»„å¤–ć®ä»–ć®ć™ć¹ć¦ć®ćƒ–ćƒ­ćƒ¼ć‚«ćƒ¼ć‚’å«ć‚€ć€ćƒ–ćƒ­ćƒ¼ć‚«ćƒ¼ćØ恗恦恮SQLć®ć‚µćƒćƒ¼ćƒˆć‚’ēµ‚äŗ†ć—ć¾ć—ćŸ:)

ļ¼ˆč¤‡č£½ļ¼‰

ē§ćÆć‚»ćƒ­ćƒŖć‚³ćƒŸćƒ„ćƒ‹ćƒ†ć‚£ć«ćć‚Œć»ć©ēø›ć‚‰ć‚Œć¦ć„ć¾ć›ć‚“ć€‚ ē§ć®0.02ćƒ‰ćƒ«ć«é–¢äæ‚ćŖ恏ļ¼š

  • RedisćÆęœ¬å½“ć«äŗŗę°—ćŒć‚ć‚Šć¾ć™-Googlećƒˆćƒ¬ćƒ³ćƒ‰ćŒä»£č”Øēš„恠ćØꀝ恆ćŖ悉态
  • 恝悌ćÆęœ¬å½“ć«č‰Æć„ćƒ–ćƒ­ćƒ¼ć‚«ćƒ¼ćØ惐惃ć‚Æć‚Øćƒ³ćƒ‰ć«ćŖ悋恓ćØćŒć§ćć¾ć™ļ¼ˆRabbitMQ悂ļ¼‰
  • å¤§ę‰‹ć‚Æćƒ©ć‚¦ćƒ‰ćƒ™ćƒ³ćƒ€ćƒ¼ćŒćƒ•ćƒ«ćƒžćƒćƒ¼ć‚øćƒ‰ć‚µćƒ¼ćƒ“ć‚¹ćØ恗恦ē‹¬č‡Ŗć«ęä¾›ć—ć¦ć„ć¾ć™
  • Redisć‚’å¤šē”Øć—ć¦ć„ć¾ć™ļ¼

ćƒ”ćƒ³ćƒ†ćƒŠćƒ³ć‚¹ć®å•é”Œć«ć¤ć„ć¦ć®ć‚ćŖćŸć®ę°—ęŒć”ć«å…±ę„Ÿć™ć‚‹ć“ćØćŒć§ćć¾ć™ć€ćć—ć¦ć“ć®ēØ®ć®č”Œå‹•ćÆꌁē¶šåÆčƒ½ę€§ćø恮äø€ę­©ć§ć™ć€‚ 恗恋恗态恂ćŖćŸćŒä½œć‚‹ć“ćØćŒć§ćć‚‹ä»–ć®ć€Œåˆ‡ę–­ć€ćÆć‚ć‚Šć¾ć™ć‹ļ¼Ÿ

ę–¹ēØ‹å¼ć®ć€Œä¾›ēµ¦ć€å“ć§ć€ć‚³ćƒŸćƒ„ćƒ‹ćƒ†ć‚£ć‹ć‚‰ć®ć‚»ćƒ­ćƒŖćøć®č²¢ēŒ®ćŒć“ć‚Œä»„äøŠćŖ恄ē†ē”±ć«ć¤ć„ć¦ä½•ć‹č€ƒćˆćŒć‚ć‚Šć¾ć™ć‹ļ¼Ÿ
ć‚³ćƒŸćƒƒćƒˆćØPRć‚’ć–ć£ćØ見恦ćæ悋ćØ态ē§ćŒč²¢ēŒ®ć—ć¦ć„ć‚‹ć„ćć¤ć‹ć®ć‚Ŗćƒ¼ćƒ—ćƒ³ć‚½ćƒ¼ć‚¹ćƒ©ć‚¤ćƒ–ćƒ©ćƒŖćØęÆ”č¼ƒć—ć¦ć€ć‚»ćƒ­ćƒŖćÆäø»ć«1äŗŗć®ä½œę„­ć§ć‚ć‚‹ć“ćØćŒć‚ć‹ć‚Šć¾ć™ć€‚

@MaximilianRč‡Ŗåˆ†ć®ćŸć‚ć ć‘ć«č©±ć™ļ¼š

  1. 恓悌ćÆć€ć‚¦ć‚©ćƒ¼ć‚Æć‚¤ćƒ³ć™ć‚‹ćŸć‚ć®ć‹ćŖć‚Šć®ć‚³ćƒ¼ćƒ‰ćƒ™ćƒ¼ć‚¹ć§ć™
  2. ē‰¹ć«ę˜†åøƒć‚„ć‚¢ć‚¤ćƒ³ć‚·ć‚Ŗć®å°‚é–€å®¶ć§ćŖć„ę–¹ćÆ
  3. ćć—ć¦ć€ć‚ćŖ恟ćÆå ±å‘Šć•ć‚ŒćŸå•é”Œć®ę·±ć•ć«ć¤ć„ć¦ć®ē›“ę„Ÿć‚’ęŒć£ć¦ć„ć¾ć›ć‚“

ćØćÆ恄恈态ē§ćÆć‚»ćƒ­ćƒŖ悒ä½æć£ć¦ć„ć‚‹ć®ć§ć€å½¹ć«ē«‹ć¤ę–¹ę³•ćŒć‚ć‚Œć°å–œć‚“ć§ćŠę‰‹ä¼ć„ć—ć¾ć™ć€‚

@MaximilianR ć€ćŸćć•ć‚“ć®č²¢ēŒ®č€…ćŒć„ć¾ć™ćŒć€é–“é•ć„ćŖ恏ē§ćÆćŸćć•ć‚“ć®ä»•äŗ‹ć‚’ć—ć¾ć—ćŸć€‚ 惗惭ć‚ø悧ć‚Æćƒˆć®ęˆé•·ćŒé€Ÿć™ćŽćŸćŸć‚ć€ć‚ć‚‹ę™‚ē‚¹ć§ć€ćƒć‚°ć‚’äæ®ę­£ć™ć‚‹ć‹ć€IRC / email / StackOverflowćŖć©ć§ćƒ¦ćƒ¼ć‚¶ćƒ¼ć‚’ć‚µćƒćƒ¼ćƒˆć™ć‚‹ć‹ć‚’éøęŠžć§ćć¾ć—ćŸć€‚ē‰¹ć«ćƒžćƒ«ćƒćƒ—ćƒ­ć‚»ćƒƒć‚·ćƒ³ć‚°ćƒ—ćƒ¼ćƒ«ć®ćƒ‡ćƒƒćƒ‰ćƒ­ćƒƒć‚Æć®å•é”ŒćŖ恩ćÆ态6ć‹ęœˆä»„äøŠć®é›†äø­ēš„ćŖć‚³ćƒ¼ćƒ‡ć‚£ćƒ³ć‚°ćŒåæ…č¦ć§ć—ćŸć€‚äŗŗć€…ć‚’ęŒ‡å°Žć™ć‚‹ć€‚ ćć®ę™‚ē‚¹ć§ćÆć€ćƒ€ć‚¦ćƒ³ćƒ­ćƒ¼ćƒ‰ć§RabbitMQćØć»ć¼åŒć˜ć‚µć‚¤ć‚ŗ恧恗恟恌态8äŗŗćŒćƒ•ćƒ«ć‚æć‚¤ćƒ ć§åƒć„ć¦ć„ćŸć®ć§ć€ē§ć ć‘ć§ć—ćŸć€‚

åˆ‡ę–­ć™ć‚‹ć‚‚ć®ćÆćŠćć‚‰ćä»–ć«ć‚‚ć‚ć‚Šć¾ć™ćŒć€Redis恻恩Ꙃ間恮恋恋悋悂恮ćÆćŖ恄ćØę€ć„ć¾ć™ć€‚

amqp / kombuć‚’å®Œå…ØćŖéžåŒęœŸć«ē§»ę¤ć™ć‚‹ä½œę„­ć‚‚å¤§ććŖꙂ間恮ęµŖč²»ć§ć—ćŸćŒć€å¤šćć®å•é”Œć‚’č§£ę±ŗć™ć‚‹ćŸć‚ć«åæ…č¦ć§ć—ćŸć€‚ 恗恋恗态恝悌ćÆę±ŗć—ć¦å®Œäŗ†ć—ć¾ć›ć‚“ć§ć—ćŸć€‚

@askäøŠčØ˜ć®ćƒ”ćƒƒć‚»ćƒ¼ć‚øćÆ态SQSć«åŠ›ć‚’å…„ć‚Œć‚‹ć“ćØć«ć¾ć čˆˆå‘³ćŒć‚ć‚‹ć“ćØć‚’ę„å‘³ć—ć¾ć™ć‹ļ¼Ÿ 恓恓恫開恄恦恄悋SQSćƒć‚±ćƒƒćƒˆćŒ1恤恗恋ćŖ恄恓ćØć«ę°—ä»˜ćć¾ć—ćŸćŒć€ćƒ‰ć‚­ćƒ„ćƒ”ćƒ³ćƒˆć«ć€Œå®Ÿéؓēš„ć€č­¦å‘ŠćŒč”Øē¤ŗć•ć‚Œć¾ć™ć€‚ SQS恮ē¾åœØ恮ēŠ¶ę³ćØå°†ę„ć®ćƒ‹ćƒ¼ć‚ŗć«ć¤ć„ć¦ć‚¢ćƒ‰ćƒć‚¤ć‚¹ć§ćć¾ć™ć‹ļ¼Ÿ

ęœ¬ē•Ŗē’°å¢ƒć§ćÆCelery + SQS悒ä½æē”Øć™ć‚‹ć®ć§ć€ćć‚Œć«å‘ć‘ć¦ć„ćć‚‰ć‹ć®åŠŖåŠ›ć‚’ę‰•ć†ć“ćØćŒć§ćć‚‹ć‹ć‚‚ć—ć‚Œć¾ć›ć‚“ćŒć€SQS恌惗惭ć‚ø悧ć‚Æćƒˆć®é•·ęœŸč؈ē”»ć®äø€éƒØ恧ćŖć„å “åˆćÆć€ćć®ć‚ˆć†ćŖēŠ¶ę³ć«é™„ć‚ŠćŸćć‚ć‚Šć¾ć›ć‚“ć€‚

@askäøŠčØ˜ć‚’å…±ęœ‰ć—ć¦ć”ć–ć„ć¾ć™ć€‚ ē§ćÆ恂ćŖćŸćŒć©ć“ć‹ć‚‰ę„ć¦ć„ć‚‹ć®ć‹ē†č§£ć§ćć¾ć™ć€‚ ē§ćÆ恓悌/ä»–ć®ć‚¢ćƒ—ćƒ­ćƒ¼ćƒć‚’é€šć—ć¦ć‚»ćƒ­ćƒŖćŒćć®ęˆåŠŸć‚’ē¶­ęŒć—ćć—ć¦ē¶™ē¶šć™ć‚‹ć®ćŒć‚ˆć‚Šē°”å˜ć«ćŖ悋恓ćØć‚’é”˜ć£ć¦ć„ć¾ć™...

間違恄ćŖ恏恂ćŖćŸć®ćƒ—ćƒ­ć‚ø悧ć‚Æćƒˆć«ęœ€å–„ć‚’å°½ćć—ć¾ć™ćŒć€Redisć®ć‚µćƒćƒ¼ćƒˆćŒēµ‚äŗ†ć—ćŸå “åˆć€ē§ćÆē¢ŗć‹ć«å†…éƒØēš„恫Celeryć‚’å–ć‚Šé™¤ćć‚ˆć†ć«ćƒ—ćƒƒć‚·ćƒ„ć—ć¾ć™ć€‚ RabbitMQ悒ä½æē”Ø恗ćŖ恄ē†ē”±ć‚’ęœ¬å½“ć«ēŸ„ć‚ŠćŸć„å “åˆćÆć€éžå…¬é–‹ć§č©³ć—ćčŖ¬ę˜Žć—ć¾ć™ćŒć€å…¬é–‹ć•ć‚Œć¦ć„ć‚‹ä»–ć®ćƒ—ćƒ­ć‚ø悧ć‚Æćƒˆć‚’éžé›£ć—ćŸććÆć‚ć‚Šć¾ć›ć‚“ć€‚

関連ļ¼šDocker恧恮開ē™ŗę–¹ę³•ćŒę©Ÿčƒ½ć™ć‚‹åÆčƒ½ę€§ćŒć‚ć‚‹ćŸć‚ć€ć“ć‚ŒćŒ1ć¤ć®ć‚³ćƒžćƒ³ćƒ‰ć§ć‚ć‚‹ć“ćØć‚’ęę”ˆć—ć¾ć™ćŒć€ćć‚ŒćÆåæ…ćšć—ć‚‚ä»–ć®ćƒ¦ćƒ¼ć‚¶ćƒ¼ćŒå±•é–‹ć™ć‚‹ę–¹ę³•ć§ćÆć‚ć‚Šć¾ć›ć‚“ć€‚

@nicksloan SQSćÆć€ćƒžć‚¹ć‚æćƒ¼ćƒ‰ć‚­ćƒ„ćƒ”ćƒ³ćƒˆć§ć‚µćƒćƒ¼ćƒˆć•ć‚Œć¦ć„ć‚‹ćƒˆćƒ©ćƒ³ć‚¹ćƒćƒ¼ćƒˆćØ恗恦ćƒŖć‚¹ćƒˆć•ć‚Œć¦ć„ć¾ć™ļ¼š //docs.celeryproject.org/en/master/getting-started/brokers/index.html

SQSćƒˆćƒ©ćƒ³ć‚¹ćƒćƒ¼ćƒˆć‚’éžåŒęœŸI / O悒ä½æē”Øć™ć‚‹ć‚ˆć†ć«ę›ø恍ē›“ć™ä½œę„­ćÆ态1000ćƒ‰ćƒ«ć‚’å°‘ć—č¶…ćˆć‚‹é‡‘é”ć§å¾Œę“ć•ć‚Œć¾ć—ćŸć€‚

@scoates Redisćƒˆćƒ©ćƒ³ć‚¹ćƒćƒ¼ćƒˆćÆć€ćƒ”ćƒƒć‚»ćƒ¼ć‚ø恮čŖ­ćæå–ć‚Šć«éžåŒęœŸI / O悒ä½æē”Øć™ć‚‹ćŸć‚ć«å®Ÿéš›ć«ćƒćƒƒć‚­ćƒ³ć‚°ć•ć‚Œć¦ć„ć‚‹ćŸć‚ć€ēŠ¶ę³ćÆ恕悉恫ę‚ŖåŒ–ć—ć¦ć„ć¾ć™ćŒć€å…¬é–‹ćÆ依ē„¶ćØć—ć¦åŒęœŸć—ć¦ć„ć¾ć™ć€‚ Python redisćƒ©ć‚¤ćƒ–ćƒ©ćƒŖćÆåŒęœŸć—ć¦ć„ć‚‹ćŸć‚ć€ćƒ”ćƒƒć‚»ćƒ¼ć‚ø悒čŖ­ć‚€å “åˆć§ć‚‚ć¾ć č¤‡ę•°ć®čŖ²é”ŒćŒć‚ć‚Šć€ćć‚ŒćŒć©ć®ć‚ˆć†ć«ę©Ÿčƒ½ć™ć‚‹ć‹ć«ć¤ć„ć¦ćÆå¤šćć®äøē¢ŗå®Ÿę€§ćŒć‚ć‚Šć¾ć™ć€‚ 惐悰ćÆē°”å˜ć«ćć“ć«éš ć‚Œć¦ć„ć‚‹åÆčƒ½ę€§ćŒć‚ć‚Šć€redis-pyćƒ©ć‚¤ćƒ–ćƒ©ćƒŖć«å¤‰ę›“ć‚’åŠ ćˆć‚‹ćØć€éžę­£ēµ±ēš„ćŖę–¹ę³•ć§ä½æē”Øć—ć¦ć„ć‚‹å “åˆć«åŠ‡ēš„ćŖå½±éŸæ悒äøŽćˆć‚‹åÆčƒ½ę€§ćŒć‚ć‚Šć¾ć™ć€‚

Redisć‚’ć‚µćƒćƒ¼ćƒˆć—ćŸć„ć®ć§ć™ćŒć€ęœ¬å½“ć«ćć†ć§ć™ć€‚ ē§ćŒRabbitMQ / Pivotalć§åƒć„ć¦ć„ćŸćØ恍态CeleryćŒå®Ÿč£…ć™ć‚‹ćƒ‘ć‚æćƒ¼ćƒ³ć«ćÆ态Pythonć§å…±é€šć®ć‚½ćƒŖćƒ„ćƒ¼ć‚·ćƒ§ćƒ³ćŒåæ…要恠ćØę„Ÿć˜ćŸć®ć§ć€ē§ćÆćć‚Œć®ćŸć‚ć«ęˆ¦ć£ć¦ć„ć¾ć—ćŸć€‚ ć—ć‹ć—ć€ć‚³ćƒŸćƒ„ćƒ‹ćƒ†ć‚£ćØ恝悌悒ä½æē”Øć—ć¦ć„ć‚‹ä¼ę„­ćŒćć‚Œć‚’ę©Ÿčƒ½ć•ć›ć‚‹ćŸć‚ć«ęŠ•č³‡ć•ć‚Œć¦ć„ćŖć„å “åˆć€ē§ćÆ궈ē«ę“»å‹•ć«å–ć‚Šę®‹ć•ć‚Œć€ęœ€ę‚Ŗć®å “åˆć€ćƒ—ćƒ­ć‚ø悧ć‚Æćƒˆć‚’ę‰¹åˆ¤ć™ć‚‹äŗŗ怅恫恤ćŖ恌悋č¼øé€ć®ę·±åˆ»ćŖå•é”Œć‚’č§£ę±ŗ恧恍ćŖ恏ćŖć‚Šć¾ć™ć€‚ 恓悌ćÆē§ć®äŗŗē”Ÿć‚’ć‚ˆć‚Šę‚²ęƒØć«ć—ć€å£«ę°—ć‚’ä½Žäø‹ć•ć›ć¾ć™ć€‚

ć‚»ćƒ­ćƒŖć®ę­“å²ć‚’č€ƒćˆć‚‹ćØ态恓悌ćÆ過ęæ€ć™ćŽć‚‹ć‹ć‚‚ć—ć‚Œć¾ć›ć‚“ćŒć€RabbitMQ悈悊悂Redis恠恑悒ē¶­ęŒć™ć‚‹ć“ćØć‚’č€ƒćˆć¾ć—ćŸć‹ļ¼Ÿ

@MaximilianRē§ćÆ恝悌悒ꤜčØŽć—ć¾ć—ćŸćŒć€ē§ć®ęƒ…ē†±ćÆćƒ”ćƒƒć‚»ćƒ¼ć‚øć®å—ć‘ęø”恗ćØę­£ć—ć„åˆ†ę•£ć‚·ć‚¹ćƒ†ćƒ ć®ę§‹ēÆ‰ć«ć‚ć‚Šć¾ć™ć€‚ RedisćÆć€ćƒ”ćƒƒć‚»ćƒ¼ć‚øē¢ŗčŖåæœē­”ć‚’å®Ÿč£…ć™ć‚‹ćŸć‚ć«ę©Ÿčƒ½ć™ć‚‹BRPOPLPUSHć®å®Ÿč£…ć‚’ć¾ć ęä¾›ć—ć¦ćŠć‚‰ćšć€åˆ†ę•£ć‚·ć‚¹ćƒ†ćƒ ć§ćÆå®Ÿę™‚é–“ć«ä¾å­˜ć™ć‚‹ć“ćØ恌äøåÆčƒ½ć§ć‚ć‚‹ć“ćØć‚’å—ć‘å…„ć‚Œć‚‹ć“ćØ恌恧恍ćŖ恄恓ćØćŒę˜Žć‚‰ć‹ć«ćŖć‚Šć¾ć—ćŸć€‚åŸŗęœ¬ēš„ćŖäŗ‹å®Ÿć§ć™ćŒć€ē§ćÆć‚‚ć£ćØč­¦ęˆ’ć—ć¦ć„ć¾ć™ć€‚ RabbitMQćÆ少ćŖ恏ćØć‚‚å•é”Œé ˜åŸŸć‚’ēœŸå‰£ć«ę”»ę’ƒć—恦恊悊态Kafka悄NSQć®ć‚ˆć†ćŖä»–ć®ćƒ—ćƒ¬ć‚¤ćƒ¤ćƒ¼ć‚‚ć„ć¾ć™ć€‚ å¤šćć®ćƒ©ć‚¤ćƒ–ćƒ©ćƒŖ恌ć‚æć‚¹ć‚Æć‚­ćƒ„ćƒ¼ć‚’å˜ē“”ćŖćƒŖć‚¹ćƒˆę“ä½œćØć—ć¦ę‰±ć£ć¦ć„ć¾ć™ćŒć€CeleryćŒćć‚Œć‚‰ć®1恤恫ćŖ悋恓ćØć‚’ę‹’å¦ć—ć¾ć™:)

@scoates ļ¼šē§ćÆč‡Ŗåˆ†ćŒć©ć®ć‚ˆć†ć«é–‹ē™ŗ恗恦恄悋恮恋ćŖć©ć«ć¤ć„ć¦č©±ć—ć¦ć„ć¾ć›ć‚“ć§ć—ćŸć€‚ 2016å¹“ć«ć€Œrabbitmqć‚’ćƒ‡ćƒ—ćƒ­ć‚¤ć™ć‚‹ć®ćÆé›£ć—ć„ć€ćØčØ€ć†ć®ćÆćƒŠćƒ³ć‚»ćƒ³ć‚¹ć ćØčØ€ć£ć¦ć„ć¾ć—ćŸć€‚ ć©ć“ć‹ć«ä½•ć‹ć‚’ćƒ‡ćƒ—ćƒ­ć‚¤ć™ć‚‹ć“ćØć«ć¤ć„ć¦ä½•ć‚‚ēŸ„悉ćŖćć¦ć‚‚ć€ęœ¬å½“ć«å½¹ē«‹ć¤dockerćŒć‚ć‚Šć¾ć™ć€‚ é–“é•ć£ćŸä»®å®šć‚’ć—ćŖ恄恧恏恠恕恄怂

恊恋恒恧ē§ćŸć”恧惁悧惃ć‚Æ恙悋恟悁@ask怂 ć‚»ćƒ­ćƒŖćÆē“ ę™“ć‚‰ć—ć„č£½å“ć§ć‚ć‚Šć€ć‚ćŖ恟ļ¼ˆćć—ć¦ć‚³ćƒŸćƒ„ćƒ‹ćƒ†ć‚£ļ¼‰ćŒęŒć£ć¦ć„ć‚‹é™ć‚‰ć‚ŒćŸćƒŖć‚½ćƒ¼ć‚¹ć‚’č€ƒćˆć‚‹ćØć€ć‚³ć‚¢č£½å“ć«ē„¦ē‚¹ć‚’å½“ć¦ć‚‹ć“ćØćŒęœ€å–„ć®ę±ŗꖭ恠ćØę€ć„ć¾ć™ć€‚ å¤šćć®ē•°ćŖ悋äŗ’ę›ę€§ć®ćŖć„ć‚·ć‚¹ćƒ†ćƒ ć‚’ä½æē”Øć—ć¦åŒć˜å„Ŗć‚ŒćŸę©Ÿčƒ½ć‚’ęä¾›ć—ć‚ˆć†ćØ恙悋恓ćØćÆć©ć‚Œć»ć©é›£ć—ć„ć‹ęƒ³åƒć§ćć¾ć™ć€‚ ę¶ˆč²»č€…ć®č¦³ē‚¹ć‹ć‚‰ć™ć‚‹ćØ态非åøøć«å¤šćć®ć‚Ŗćƒ—ć‚·ćƒ§ćƒ³ćŒć‚ć‚‹ćØć€č£½å“ćŒč¤‡é›‘ć«ćŖ悋ćØę€ć„ć¾ć™ć€‚ 恓悌ćÆ恊恝悉恏恂ćŖćŸć®ćƒ¦ćƒ¼ć‚¶ćƒ¼ć®ä½•äŗŗć‹ć‚’ę··ä¹±ć•ć›ć‚‹ć ć‚ć†ćØē§ćÆē¢ŗäæ”ć—ć¦ć„ć¾ć™ćŒć€ćƒ–ćƒ­ćƒ¼ć‚«ćƒ¼ć‚’ęø›ć‚‰ć™ć“ćØ恫å›ŗåŸ·ć™ć‚‹ć“ćØćÆč£½å“ć®ćŸć‚ć«ę­£ć—ć„ć“ćØ恠ćØę€ć„ć¾ć™ć€‚ AMQPćÆęؙęŗ–ēš„恧åŗƒćå—ć‘å…„ć‚Œć‚‰ć‚Œć¦ć„ć‚‹ćƒ—ćƒ­ćƒˆć‚³ćƒ«ć§ć‚ć‚Šć€rabbitmqćÆ非åøø恫å„Ŗć‚ŒćŸå®Ÿč£…ć§ć‚ć‚‹ćŸć‚ć€AMQP恫ē„¦ē‚¹ć‚’å½“ć¦ćŸć„ćØę€ć„ć¾ć™ć€‚

悄悉ćŖ恑悌恰ćŖ悉ćŖć„ä½œę„­ćŒćć‚Œć»ć©å¤šććŖ恄恮ćÆę‚²ć—ć„ć“ćØć§ć™ćŒć€ć™ć¹ć¦ć®ćƒˆćƒ©ćƒ³ć‚¹ćƒćƒ¼ćƒˆćØę©Ÿčƒ½ć‚’ć™ć¹ć¦åˆčØˆć™ć‚‹ćØ态週恫ꕰꙂ間恠恑恧ćÆꌁē¶šåÆčƒ½ć§ćÆć‚ć‚Šć¾ć›ć‚“ć€‚

Redisćƒ—ćƒ­ćƒˆć‚³ćƒ«ćÆ非åøøć«å˜ē“”ćŖć®ć§ć€ćƒˆćƒ©ćƒ³ć‚¹ćƒćƒ¼ćƒˆć‚’å®Œå…Øć«éžåŒęœŸć«ę›øćę›ćˆć‚‹ć®ćÆćć‚Œć»ć©é›£ć—ć„ć“ćØ恧ćÆć‚ć‚Šć¾ć›ć‚“ć€‚ CeleryćŒä»»ę„ć®Tornadoćƒ©ć‚¤ćƒ–ćƒ©ćƒŖć‚’ć‚µćƒćƒ¼ćƒˆć§ćć‚‹ć‚ˆć†ć«ć™ć‚‹ćƒ¬ć‚¤ćƒ¤ćƒ¼ć‚’ä½œęˆć—ć¾ć—ćŸć€‚ć“ć‚ŒćÆ态asyncio悄Twistedć§ć‚‚åŒć˜ć‚ˆć†ć«ä½œęˆć§ćć‚‹ćŸć‚ć€å†åˆ©ē”Ø恧恍悋ć‚Æćƒ©ć‚¤ć‚¢ćƒ³ćƒˆćŒå­˜åœØć™ć‚‹å “åˆć‚‚ć‚ć‚Šć¾ć™ć€‚

PythonćÆstdlib恮asyncioć§åŠ‡ēš„ć«å¤‰åŒ–ć—ć¦ć„ć¾ć™ć€‚ ꖰ恗恄Webćƒ•ćƒ¬ćƒ¼ćƒ ćƒÆćƒ¼ć‚Æ态ꖰ恗恄惍惃惈ćƒÆćƒ¼ć‚Æćƒ©ć‚¤ćƒ–ćƒ©ćƒŖ恌åæ…要恧恂悊态ć‚Øć‚³ć‚·ć‚¹ćƒ†ćƒ å…Øä½“ć‚’é©åæœć•ć›ć‚‹åæ…č¦ćŒć‚ć‚Šć¾ć™ć€‚ ē‹¬č‡Ŗć®ć‚¤ćƒ™ćƒ³ćƒˆćƒ«ćƒ¼ćƒ—ć‚’ē¶­ęŒć—ē¶šć‘ć‚‹åæ…č¦ćŒćŖ恏ćŖć‚‹ćŸć‚ć€ä½œę„­ćŒå°‘ć—ē°”å˜ć«ćŖć‚Šć¾ć™ćŒć€ē§»č”Œć«ćÆć„ćć¤ć‹ć®ä½œę„­ćŒåæ…要恫ćŖć‚Šć¾ć™ć€‚

ć¾ćŸć€č¤‡ę•°ć®č؀čŖžć‚’ć‚µćƒćƒ¼ćƒˆć™ć‚‹ę–°ć—ć„ćƒ”ćƒƒć‚»ćƒ¼ć‚øćƒ—ćƒ­ćƒˆć‚³ćƒ«ćŒć§ććŸć®ć§ć€GoćŖ恩恧ꖰ恗恄ćƒÆćƒ¼ć‚«ćƒ¼ć‚’ä½œęˆć—ćŸć„ćØę€ć„ć¾ć™ć€‚ RedisćÆć€ćƒ”ćƒƒć‚»ćƒ¼ć‚øćƒ˜ćƒƒćƒ€ćƒ¼ć€ćƒ—ćƒ­ćƒ‘ćƒ†ć‚£ćŖć©ć‚’å®Ÿč£…ć—ć¦ć„ćŖć„ćŸć‚ć€ćƒ”ćƒƒć‚»ćƒ¼ć‚øćƒ³ć‚°ć®ē›øäŗ’運ē”Øę€§ć«ęœ€é©ć§ćÆć‚ć‚Šć¾ć›ć‚“ć€‚AMQPćƒ—ćƒ­ćƒˆć‚³ćƒ«ćÆć€å…ƒć®ćƒ¦ćƒ¼ć‚¹ć‚±ćƒ¼ć‚¹ć®1ć¤ć§ć‚ć£ćŸćŸć‚ć€é–“é•ć„ćŖ恏å„Ŗä½ć«ē«‹ć£ć¦ć„ć¾ć™ć€‚

@askē§ć®ć‚¢ćƒ—ćƒ­ćƒ¼ćƒćÆć€ä¼ę„­ć«ćƒ–ćƒ­ćƒ¼ć‚«ćƒ¼ć‚’ē¶­ęŒć•ć›ć‚‹ć“ćØ恧恗恟怂 恝悌恧ćÆ态Redisćƒ©ćƒœć®čŖ°ć‹ćØ話悒恗恦态ē‰½å¼•åŠ›ćŒå¾—ć‚‰ć‚Œć‚‹ć‹ć©ć†ć‹ć‚’ē¢ŗčŖć—恦ćæć¾ć—ć‚‡ć†ć€‚
MongoDBć‚„ćć®ä»–ć®ć‚µćƒ¼ćƒ“ć‚¹ć«ć¤ć„ć¦ć‚‚åŒć˜ć§ć™ć€‚
SQLćƒ–ćƒ­ćƒ¼ć‚«ćƒ¼ć«é–¢ć—ć¦ćÆć€ć‚ć¾ć‚Šč‰Æ恄考恈恧ćÆćŖćć€ć‚µćƒćƒ¼ćƒˆć™ć¹ćć§ćÆćŖ恄ćØę€ć„ć¾ć™ć€‚
ć‚³ćƒ¼ćƒ‰ć‚’å‰Šé™¤ć™ć‚‹ä»£ć‚ć‚Šć«ęŠ½å‡ŗ恗恦态ē¶­ęŒć—ć¦ćć‚Œć‚‹äŗŗć‚’ęŽ¢ć™ć“ćØćŒć§ćć¾ć™ć€‚ 十分ćŖ関åæƒćŒćŖć„å “åˆćÆć€ćć‚Œć‚‰ć®åæ…要ćÆć‚ć‚Šć¾ć›ć‚“ć€‚
ćƒ–ćƒ­ćƒ¼ć‚«ćƒ¼ć«ćŖ悋恓ćØ恌恧恍悋å”Æäø€ć®SQLćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹ćÆPostgres恧恙怂恓悌ćÆ态Pub / Subę©Ÿčƒ½ć‚’å‚™ćˆć¦ć„ć‚‹ćŸć‚ć§ć™ćŒć€ē¾åœØćÆå®Ÿč£…ć•ć‚Œć¦ć„ć¾ć›ć‚“ć€‚

ē§ćŸć”ćÆ恝悌悒非ęŽØå„Øć«ć—ć¦ć€ä½•ćŒčµ·ć“ć‚‹ć‹ć‚’č¦‹ć‚‹ć“ćØ恌恧恍悋ćØę€ć„ć¾ć™ć€‚ ćŸć¶ć‚“čŖ°ć‹ćŒćƒ”ćƒ³ćƒ†ćƒŠćƒ³ć‚¹ć‚’å¼•ćē¶™ćć‹ć€å¾Œę“ć«ć‚ˆć£ć¦ćć‚Œć®ćŸć‚ć«ć‚¹ćƒ†ćƒƒćƒ—ć‚¢ćƒƒćƒ—ć—ć¾ć™ć€‚ 恝恆恧ćŖ恑悌恰态äŗŗ怅恌åæ…要ćØć—ć¦ć„ć‚‹ćŒć€čŖ°ć‚‚ć‚µćƒćƒ¼ćƒˆć—ćŸććŖć„č£½å“ćŒć‚ć‚Šć¾ć™ć€‚ć“ć‚ŒćÆ态ē¾ę™‚ē‚¹ć§åˆč؈18ē„Ø恫ćŖ悋åÆčƒ½ę€§ćŒć‚ć‚Šć¾ć™ć€‚ 恝悌恌RedisLabs恠恑悒ęŗ悋恌恙ćØćÆꀝ悏ćŖ恄:)

ć—ć‹ć—ć€ć‚³ćƒŸćƒ„ćƒ‹ćƒ†ć‚£ćØ恝悌悒ä½æē”Øć—ć¦ć„ć‚‹ä¼ę„­ćŒćć‚Œć‚’ę©Ÿčƒ½ć•ć›ć‚‹ćŸć‚ć«ęŠ•č³‡ć•ć‚Œć¦ć„ćŖć„å “åˆć€ē§ćÆ궈ē«ę“»å‹•ć«å–ć‚Šę®‹ć•ć‚Œć€ęœ€ę‚Ŗć®å “åˆć€ćƒ—ćƒ­ć‚ø悧ć‚Æćƒˆć‚’ę‰¹åˆ¤ć™ć‚‹äŗŗ怅恫恤ćŖ恌悋č¼øé€ć®ę·±åˆ»ćŖå•é”Œć‚’č§£ę±ŗ恧恍ćŖ恏ćŖć‚Šć¾ć™ć€‚ 恓悌ćÆē§ć®äŗŗē”Ÿć‚’ć‚ˆć‚Šę‚²ęƒØć«ć—ć€å£«ę°—ć‚’ä½Žäø‹ć•ć›ć¾ć™ć€‚

ē§ćŸć”ćÆč¤‡ę•°ć®ćƒ—ćƒ­ć‚ø悧ć‚Æ惈恧redisćƒ–ćƒ­ćƒ¼ć‚«ćƒ¼ćØäø€ē·’ć«ć‚»ćƒ­ćƒŖ悒ä½æē”Øć—ć¦ćŠć‚Šć€ćć‚Œć«ä¾å­˜ć—ć¦ć„ć¾ć™ćŒć€ē§ćÆćć®ę„Ÿęƒ…ć«å¼·ćåŒę„ć—ć¾ć™ć€‚ 恂ćŖćŸćŒćć‚Œć‚’é«˜ćƒ¬ćƒ™ćƒ«ć®å“č³Ŗ恫äæć¤ć“ćØ恌恧恍ćŖ恄ćŖ悉恰态恝悌ćÆć‚»ćƒ­ćƒŖ恫ę‚Ŗć„åå‰ć‚’äøŽćˆć‚‹ć ć‘恧态ćæ悓ćŖ悒äøå¹øć«ć—ć¾ć™ā€“恂ćŖ恟ćØćƒ¦ćƒ¼ć‚¶ćƒ¼ć€‚

悄恂怂 ē§ćÆRedisLabsć§åƒć„ć¦ćŠć‚Šć€ęœ€čæ‘ć¾ć§ć‚»ćƒ­ćƒŖć®ćƒ¦ćƒ¼ć‚¶ćƒ¼ć§ć—ćŸć€‚ @thedrowćÆ恓悌悒ē§ć®ę³Øę„ć‚’å¼•ćć¾ć—ćŸć€ćć—ć¦ē§é”ćÆć“ć‚Œć‚’å†…éƒØć§č­°č«–ć—ć¾ć—ćŸć€‚ ē§ćŸć”ćÆēš†ć•ć‚“ć‚’å–œć‚“ć§ćŠę‰‹ä¼ć„ć—ć¾ć™ć€‚ć‚»ćƒ­ćƒŖ恮äø€éƒØćØ恗恦redis悒ē¶­ęŒć™ć‚‹ć“ćØćŒé‡č¦ć ćØč€ƒćˆć¦ć„ć¾ć™ć€‚ 個äŗŗēš„恫悄悋恮恋态他恮äŗŗ恫悄悋恮恋ćÆć¾ć ć‚ć‹ć‚Šć¾ć›ć‚“ćŒć€ä½•ć‚’ć™ć‚‹åæ…č¦ćŒć‚ć‚‹ć®ć‹ā€‹ā€‹ć‚’č©±ć—åˆć„ć¾ć—ć‚‡ć†ć€‚

@dvirskyć®ć‚ˆć†ć«ć€Redisćø恮ē§ć®ä½œę„­ćÆRedis Labsć«ć‚ˆć£ć¦å®Œå…Øć«å¾Œę“ć•ć‚Œć¦ćŠć‚Šć€ć“ć®ćƒćƒƒć‚Æć‚Øćƒ³ćƒ‰ć‚’ę”Æę“ć§ćć‚‹å “åˆļ¼ˆć§ćć‚Œć°ćć†ć§ć™ļ¼‰ć€Rediså“ć§ęœ€é©ćŖć‚½ćƒŖćƒ„ćƒ¼ć‚·ćƒ§ćƒ³ć‚’č¦‹ć¤ć‘ć‚‹ć®ć‚’ę”Æę“ć™ć‚‹ć“ćØć«é–¢äøŽć—ć¾ć™ć€‚å®Ÿč£…ć®ē‰¹å®šć®ć“ćØć‚’å®¹ę˜“ć«ć™ć‚‹ćŸć‚ć«ć€Redisćƒ”ćƒƒć‚»ćƒ¼ć‚øćƒ³ć‚°ć‚µćƒćƒ¼ćƒˆć‚’ę‹”å¼µć—ć¾ć™ć€‚ ć¾ćŸć€HAåƾåæœć®ć‚Øć‚Æć‚¹ćƒšćƒŖć‚Øćƒ³ć‚¹ć‚’å®Ÿē¾ć™ć‚‹ćŸć‚ć«ć€ć‚悋Ꙃē‚¹ć§Sentinel / Redisć‚Æćƒ©ć‚¹ć‚æćƒ¼ć‚’ä½æē”Ø恙悋惐惃ć‚Æć‚Øćƒ³ćƒ‰ć®ę©Ÿčƒ½ć‚’å¼·čŖæ恙悋恓ćØć‚‚ć§ćć¾ć™ć€‚ ē¾åœØåæ…要ćŖåŠŖåŠ›ć‚’č©•ä¾”ć—ć¦ć„ć‚‹č‰Æć„ćƒ‹ćƒ„ćƒ¼ć‚¹ćŒć§ćć‚‹ć ć‘ę—©ćć‚ć‚‹ć“ćØć‚’é”˜ć£ć¦ć„ć¾ć™ć€‚

恓悌ćÆęœ¬å½“ć«č‰Æć„ćƒ‹ćƒ„ćƒ¼ć‚¹ć§ć™ļ¼ ē§ćÆ恂ćŖćŸćŒćć‚Œć«ć‚³ćƒŸćƒƒćƒˆć™ć‚‹å‰ć«é–¢äæ‚恙悋仕äŗ‹ć‚’ēŸ„悊恟恄ćØę€ć£ć¦ć„ć‚‹ć“ćØć‚’å®Œå…Ø恫ē†č§£ć—ć¦ć„ć¾ć™:)

今ćÆ午前3ę™‚ć§ć™ć€‚å•é”Œć®ćƒŖć‚¹ćƒˆćÆåŽé›†ć—ć¦ć„ć¾ć›ć‚“ćŒć€ēŸ­ć„ćƒ”ćƒ¢ć‚’ć„ćć¤ć‹ē¤ŗć—ć¾ć™ć€‚

CeleryćÆ态Redisćøć®ć‚¤ćƒ³ć‚æćƒ¼ćƒ•ć‚§ćƒ¼ć‚¹ć§å®Ÿč£…ć•ć‚Œć‚‹äø€é€£ć®ę©Ÿčƒ½ć‚’定ē¾©ć—ć¦ć„ć¾ć›ć‚“ć€‚
AMQP API悒ä½æē”Ø恗恦态äø€čˆ¬ēš„ćŖę–¹ę³•ć§ćƒ”ćƒƒć‚»ćƒ¼ć‚øćƒ³ć‚°ć‚’ä½æē”Øć—ć¾ć™ć€‚ åå‰ć‹ć‚‰ć‚­ćƒ„ćƒ¼ćøć®ćƒ”ćƒƒć‚»ćƒ¼ć‚øćƒ³ć‚°ć€pub / subćŠć‚ˆć³ćƒˆćƒ”ćƒƒć‚Æćƒ«ćƒ¼ćƒ†ć‚£ćƒ³ć‚°ć€‚ 惈惔惃ć‚Æćƒ«ćƒ¼ćƒ†ć‚£ćƒ³ć‚°ćÆ厳åƆćŖ要件恧ćÆć‚ć‚Šć¾ć›ć‚“ćŒć€ę®‹ć‚ŠćÆ1ļ¼‰ć‚æć‚¹ć‚Æćƒ”ćƒƒć‚»ćƒ¼ć‚øć®å‡¦ē†ć€2ļ¼‰ē›£č¦–ć‚¤ćƒ™ćƒ³ćƒˆć®é€å—äæ”态3ļ¼‰ćƒÆćƒ¼ć‚«ćƒ¼ćøć®ćƒ”ćƒƒć‚»ćƒ¼ć‚øć®ćƒ–ćƒ­ćƒ¼ćƒ‰ć‚­ćƒ£ć‚¹ćƒˆļ¼ˆć‚·ćƒ£ćƒƒćƒˆćƒ€ć‚¦ćƒ³/åŒę™‚å®Ÿč”Œę€§ć®å‘äøŠćŖ恩ļ¼‰ć®Celery恮äø»ćŖę©Ÿčƒ½ć«ćØć£ć¦é‡č¦ć§ć™ć€‚ ļ¼‰ć€‚

1ļ¼‰ćƒÆćƒ¼ć‚«ćƒ¼ćŒę“ä½œć‚’ćƒ–ćƒ­ćƒƒć‚Æ恗ćŖć„ć‚ˆć†ć«ć€éžåŒęœŸć§ć‚ć‚‹åæ…č¦ćŒć‚ć‚Šć¾ć™

ē¾åœØć®ćƒćƒ¼ć‚øćƒ§ćƒ³ć§ćÆć€åŒęœŸåž‹ć®redis-pyćƒ©ć‚¤ćƒ–ćƒ©ćƒŖ悒ä½æē”Øć—ć¦ć„ć¾ć™ć€‚ ē§ćÆ恓悌悒惏惃ć‚Æć—ć¦ä½œć‚Šć¾ć—ćŸ
éžåŒęœŸć§ćƒ”ćƒƒć‚»ćƒ¼ć‚øć‚’ę¶ˆč²»ć—ć¾ć™ćŒć€ć‚Æćƒ©ć‚¤ć‚¢ćƒ³ćƒˆć§ä½•ćŒčµ·ć“ć£ć¦ć„ć‚‹ć®ć‹ę­£ē¢ŗ恫ćÆ悏恋悉ćŖć„ćŸć‚ć€ć¾ć ćƒć‚°ćŒć‚ć‚‹ćØę€ć„ć¾ć™ć€‚ 利ē”ØåÆčƒ½ćŖéžåŒęœŸRedisć‚Æćƒ©ć‚¤ć‚¢ćƒ³ćƒˆćŒć™ć§ć«å­˜åœØ恙悋åÆčƒ½ę€§ćŒć‚ć‚Šć¾ć™
ē§ćŸć”恌ä½æē”Ø恧恍悋ē«œå·»/éžåŒęœŸć€ć¾ćŸćÆē”Ÿć§ćć‚Œć‚’č”Œć†åæ…č¦ćŒćŖ恄恟悁꜀ę‚Ŗć®å “åˆćÆ恝恆恧ćÆćŖć„ć‹ć‚‚ć—ć‚Œć¾ć›ć‚“
ćØć¦ć‚‚ćƒˆćƒŖćƒƒć‚­ćƒ¼ć«ćŖć‚Šć¾ć™ć€‚

2ļ¼‰ęŽ„ē¶šē®”ē†

ć‚æć‚¹ć‚Æć‚’ę¶ˆč²»ć™ć‚‹ęŽ„ē¶šćŒ1恤恂悊态pubsubć‚’å®Ÿč”Œć™ć‚‹ęŽ„ē¶šćŒ1ć¤ć‚ć‚Šć€ę¬”ć«ćƒ—ćƒ¼ćƒ«ćŒć‚ć‚Šć¾ć™ć€‚
ćƒ”ćƒƒć‚»ćƒ¼ć‚ø恮ē¢ŗčŖć‚„ęœŖē¢ŗčŖćƒ”ćƒƒć‚»ćƒ¼ć‚øć®å¾©å…ƒćŖ恩态åøÆåŸŸå¤–ę“ä½œć‚’å®Ÿč”Œć™ć‚‹ćŸć‚ć®ęŽ„ē¶šć®ę•°ć€‚ 恓恓恧ćÆć‚Øćƒ©ćƒ¼å‡¦ē†ć«é–¢ć—ć¦ę··ä¹±ćŒć‚ć‚Šć€ä½æē”Øå¾Œć«ć™ć¹ć¦ć®ęŽ„ē¶šć‚’é–‰ć˜ć‚‹ćØćÆé™ć‚Šć¾ć›ć‚“ć€‚

3ļ¼‰ćƒ”ćƒƒć‚»ćƒ¼ć‚ø恮ē¢ŗčŖ

ćƒ”ćƒƒć‚»ćƒ¼ć‚øćÆ态ē¢ŗčŖć•ć‚ŒćŸå¾Œć«ć®ćæć‚µćƒ¼ćƒćƒ¼ć‹ć‚‰å‰Šé™¤ć•ć‚Œć€ć™ć¹ć¦ć®ćƒ”ćƒƒć‚»ćƒ¼ć‚øć‚³ćƒ³ć‚·ćƒ„ćƒ¼ćƒžćƒ¼ćŒćƒ”ćƒƒć‚»ćƒ¼ć‚øć‚’å¾©å…ƒć—ć‚ˆć†ćØ恙悋åÆ視ꀧć‚æć‚¤ćƒ ć‚¢ć‚¦ćƒˆćŒć‚ć‚Šć¾ć™ć€‚ ć¾ć‚ćć‚ŒćÆę··ä¹±ć§ć™ć€
ć“ć‚Œć«ć¤ć„ć¦ćÆå¾Œć§č©³ć—ćčŖ¬ę˜Žć—ć¾ć™ć€‚

@askć«ę„Ÿč¬ć—å¤–éƒØćƒ©ć‚¤ćƒ–ćƒ©ćƒŖć«ä¾å­˜ć™ć‚‹ć®ć§ćÆćŖćć€ćƒ–ćƒ­ćƒ¼ć‚«ćƒ¼å†…ć§ē›“ꎄ送äæ”ć™ć‚‹ć„ćć¤ć‹ć®ć‚³ćƒžćƒ³ćƒ‰ć«åæ…要ćŖęœ€å°é™ć®éžåŒęœŸRedisć‚µćƒćƒ¼ćƒˆć‚’ē›“ęŽ„å®Ÿč£…ć™ć‚‹ć“ćØ恌ē†ć«ć‹ćŖć£ć¦ć„ć‚‹å “åˆćŒć‚ć‚Šć¾ć™ć€‚

2ć¤ć ć‘ć€ćć—ć¦ćŠćć‚‰ćä»–ć®ć„ćć¤ć‹ć®å°ć•ćŖå•é”ŒćŒć™ćć«č§£ę±ŗ悒åæ…要ćØ恙悋恓ćØ恫ę³Øę„ć—ć¦ćć ć•ć„ć€‚ 恓悌ćÆćŠćŠć‚€ć­ę©Ÿčƒ½ć—ć¦ć„ć¾ć™ćŒć€ćƒ”ćƒƒć‚»ćƒ¼ć‚ø恮ē¢ŗčŖåæœē­”ć«ć‚ˆć£ć¦ćƒ”ćƒƒć‚»ćƒ¼ć‚øćŒå¤±ć‚ć‚Œć‚‹å “åˆćŒć‚ć‚Šć¾ć™ćŒć€ackć‚ØćƒŸćƒ„ćƒ¬ćƒ¼ć‚·ćƒ§ćƒ³ć®å‰ćÆēŠ¶ę³ćŒćÆ悋恋恫ę‚Ŗć‹ć£ćŸćŸć‚ć€ć“ć‚ŒćÆć‚¦ć‚£ćƒƒć‚·ćƒ„ćƒŖć‚¹ćƒˆé …ē›®ć§ć™ć€‚ åŒęœŸRedisć‚Æćƒ©ć‚¤ć‚¢ćƒ³ćƒˆć«ć‚ˆć£ć¦ćƒÆćƒ¼ć‚«ćƒ¼ćŒćƒ–ćƒ­ćƒƒć‚Æ恕悌悋åÆčƒ½ę€§ćŒć‚ć‚Šć¾ć™ć€‚ć“ć‚Œć«ć‚ˆć‚Šć€ćƒ‘ćƒ•ć‚©ćƒ¼ćƒžćƒ³ć‚¹ćŒä½Žäø‹ć—ć€ć¾ć‚Œć«ćƒÆćƒ¼ć‚«ćƒ¼ćŒćƒćƒ³ć‚°ć—ć¾ć™ć€‚

1ļ¼‰ćƒÆćƒ¼ć‚«ćƒ¼ćŒę“ä½œć‚’ćƒ–ćƒ­ćƒƒć‚Æ恗ćŖć„ć‚ˆć†ć«ć€éžåŒęœŸć§ć‚ć‚‹åæ…č¦ćŒć‚ć‚Šć¾ć™

ęœ€å¾Œć«ē¢ŗčŖć—ćŸćØć“ć‚ć€éžåŒęœŸRedisć‚Æćƒ©ć‚¤ć‚¢ćƒ³ćƒˆćÆ完å…Ø恧ćÆć‚ć‚Šć¾ć›ć‚“ć§ć—ćŸļ¼ˆē«œå·»ć®å “合ćÆć„ćć¤ć‹ć‚ć‚Šć¾ć™ļ¼‰ć€‚ ć“ć®ć‚ˆć†ćŖēŠ¶ę³ć§ē§ćŒä½•åŗ¦ć‚‚č”Œć£ćŸć“ćØćÆć€ć‚¹ćƒ¬ćƒƒćƒ‰ćƒ—ćƒ¼ćƒ«ć‚Øć‚°ć‚¼ć‚­ćƒ„ćƒ¼ć‚æćƒ¼ćØfutures悒ä½æē”Ø恗恦态redis-pyć‚’éžåŒęœŸć‚Æćƒ©ć‚¤ć‚¢ćƒ³ćƒˆć®ć‚ˆć†ć«å‹•ä½œć•ć›ć‚‹ć“ćØ恧恗恟怂 äø¦č”Œć‚æć‚¹ć‚ÆćŒå¤šć™ćŽćšć€ć„ćć¤ć‹ć®ć‚¹ćƒ¬ćƒƒćƒ‰ć§å®Ÿč”Œć§ćć‚‹é™ć‚Šć€éžåŒęœŸć‚Æćƒ©ć‚¤ć‚¢ćƒ³ćƒˆć‚ˆć‚Šć‚‚ć†ć¾ćę©Ÿčƒ½ć—ć¾ć™ć€‚

ē·Ø集ļ¼šē§ćÆć¾ć Python恮asyncio悒ē›“ęŽ„ę“ä½œć—ć¦ć„ć¾ć›ć‚“ćŒć€ē§ćŒč¦‹ćŸćØ恓悍态ē«œå·»ć«ć‹ćŖć‚Šä¼¼ć¦ć„ć‚‹ć®ć§ć€ć“ć®ćƒ‘ć‚æćƒ¼ćƒ³ćÆ恊恝悉恏ē°”å˜ć«å®Ÿč”Œć§ćć¾ć™ć€‚

@dvirsky fork悂ä½æē”Øć—ć¦ć„ć‚‹ćŸć‚ć€ć‚¹ćƒ¬ćƒƒćƒ‰ć®ä½æē”ØćÆčرåÆć•ć‚Œć¦ć„ć¾ć›ć‚“ć€‚ PythonćÆć“ć®ć‚±ćƒ¼ć‚¹ć‚’ć‚µćƒćƒ¼ćƒˆć—ć¦ć„ć¾ć›ć‚“ć€‚ć¾ćŸć€cpythonć®ćƒ‘ćƒƒćƒćŒä½œęˆć•ć‚ŒćŸå “åˆć§ć‚‚ć€ć“ć®ę–¹ę³•ć§å®‰å…Ø悒ē¢ŗäæć™ć‚‹ć«ćÆć€ę—¢å­˜ć®pythonćƒ©ć‚¤ćƒ–ćƒ©ćƒŖļ¼ˆå°‘ćŖ恏ćØ悂Cę‹”å¼µę©Ÿčƒ½ļ¼‰ć«ę³Øę„ę·±ććƒ‘ćƒƒćƒć‚’é©ē”Ø恙悋åæ…č¦ćŒć‚ć‚Šć¾ć™ć€‚ 恓悌ćÆ态Pythonćƒć‚°ćƒˆćƒ©ćƒƒć‚«ćƒ¼ć§å°‘ć—å‰ć«å®Ÿē¾ć•ć‚ŒćŸćŸć‚ć€éžåŒęœŸI / Oćø恮ē§»č”Œć‚’č”Œć£ć¦ć„ć¾ć™ć€‚ ć¾ćŸć€äø€čˆ¬ēš„ć«ćć“ć«ē§»å‹•ć™ć‚‹åæ…č¦ćŒć‚ć‚Šć¾ć™ć€‚ć“ć‚ŒćÆ态Pythonć®å°†ę„ć§ć‚ć‚Šć€ć‚³ć‚¢éžåŒęœŸI / OćŒć‚µćƒćƒ¼ćƒˆć•ć‚Œć‚‹ć‚ˆć†ć«ćŖć£ćŸćŸć‚ć§ć™ć€‚

@antirez reļ¼š

ćƒć‚¤ćƒ³ćƒˆć€Œ1ć€ć«ć¤ć„ć¦ćÆć€å¤–éƒØćƒ©ć‚¤ćƒ–ćƒ©ćƒŖć«ä¾å­˜ć™ć‚‹ć®ć§ćÆćŖćć€ćƒ–ćƒ­ćƒ¼ć‚«ćƒ¼å†…ć§ē›“ꎄ送äæ”ć™ć‚‹ć„ćć¤ć‹ć®ć‚³ćƒžćƒ³ćƒ‰ć«åæ…要ćŖęœ€å°é™ć®éžåŒęœŸRedisć‚µćƒćƒ¼ćƒˆć‚’ē›“ęŽ„å®Ÿč£…ć™ć‚‹ć“ćØ恌ē†ć«ć‹ćŖć£ć¦ć„ć‚‹å “åˆćŒć‚ć‚Šć¾ć™ć€‚

ē§ćÆćć‚Œć‚’ć—ć¾ć›ć‚“ć€‚ redis-pyć®ć‚³ćƒ¼ćƒ‰ć®ć»ćØ悓恩ćÆć€ć‚³ćƒžćƒ³ćƒ‰ć®å®Ÿč£…ć§ćÆćŖ恏态惍惃惈ćƒÆćƒ¼ć‚ÆćØꎄē¶šć®ē®”ē†ć‚’äø­åæƒć«å±•é–‹ć—ć¦ć„ć¾ć™...

@dvirskyćć®ćŸć‚ć«å®Œå…Øć«ę©Ÿčƒ½ć™ć‚‹ęŽ„ē¶šē®”ē†ć‚ø悧惍ćƒŖ惃ć‚ÆćŒć‚ć‚Šć¾ć™ć®ć§ć€ę™‚é–“ć®

@askćÆ恄态redisćƒ—ćƒ­ćƒˆć‚³ćƒ«ć‚’č§£ęžć™ć‚‹ćŸć‚ć®å°‚ē”Ø恮Cę‹”å¼µę©Ÿčƒ½ć§ć‚ć‚‹hiredisćŒć‚ć‚Šć¾ć™ć€‚IIRCćÆéžåŒęœŸć‚Æćƒ©ć‚¤ć‚¢ćƒ³ćƒˆć§ć‚‚ę©Ÿčƒ½ć—ć¾ć™ć€‚ redisć‚’éžåŒęœŸć«ć™ć‚‹ćŸć‚ć«ć“ć‚Œć¾ć§ć©ć®ć‚ˆć†ćŖꈦē•„悒éøęŠžć—ć¾ć—ćŸć‹ļ¼Ÿ

ćØć«ć‹ćć€ē§ćÆ꜀čæ‘éžåŒęœŸć‚Æćƒ©ć‚¤ć‚¢ćƒ³ćƒˆć§ä½•ćŒčµ·ć“ć£ć¦ć„ć‚‹ć®ć‹ć‚’č¦‹ć‚‹åæ…č¦ćŒć‚ć‚Šć¾ć™ć€ē§ćÆ過去1å¹“åŠć®é–“å¤šćć®Python恮仕äŗ‹ć‚’ć—ć¦ć„ć¾ć›ć‚“ć€‚ https://github.com/leporo/tornado-redisćÆć‚ć¾ć‚Šę“»ē™ŗ恧ćÆćŖć‹ć£ćŸć‚ˆć†ć§ć™ć€‚

ꈦē•„ćÆć‚ć¾ć‚Šć‚ć‚Šć¾ć›ć‚“ć€‚ć‚½ć‚±ćƒƒćƒˆć‚’ć‚¤ćƒ™ćƒ³ćƒˆćƒ«ćƒ¼ćƒ—ć«čæ½åŠ ć—ć¦ć€ćŸćØ恈恰BRPOPć‚’åŒęœŸēš„恫送äæ”ć—ć€ć‚½ć‚±ćƒƒćƒˆćŒčŖ­ćæå–ć‚ŠåÆčƒ½ć«ćŖć‚‹ć®ć‚’å¾…ć£ć¦ć€åæœē­”ć‚’åŒęœŸēš„恫čŖ­ćæå–ć‚Šć¾ć™;ļ¼‰

åæœē­”ć®č§£ęžäø­ć«å†čµ·å‹•ć™ć‚‹ę–¹ę³•ćŒćŖ恄恟悁

@dvirskyćƒ—ćƒ­ćƒˆć‚³ćƒ«č§£ęžä»„å¤–ć®ē›®ēš„恧hiredis悒ä½æē”Ø恙悋ćØ态gevent / eventletćØ恮äŗ’ę›ę€§ć®å•é”ŒćŒē™ŗē”Ÿć—ļ¼ˆćƒžćƒ«ćƒćƒ—ćƒ­ć‚»ćƒƒć‚·ćƒ³ć‚°ć®ä»£ć‚ć‚Šć«ä½æē”Øć—ćŸå “åˆļ¼‰ć€Celery恌PyPyć§å®Ÿč”Œć•ć‚Œć¦ć„ć‚‹å “åˆć®ē§»ę¤ę€§ć®å•é”Œć§ć‚ć‚‹hiredis恌åæ…é ˆć«ćŖć‚Šć¾ć™ć€‚

@dvirskyć¾ćŸć€py-hiredisćÆ态ē¾ę™‚ē‚¹ć§ćÆćƒ—ćƒ­ćƒˆć‚³ćƒ«č§£ęžä»„å¤–ć®ę©Ÿčƒ½ć‚’å…¬é–‹ć—ć¦ć„ć¾ć›ć‚“ć€‚

PythonćÆ态ē§ćŒäæ”恘悋恂悋Ꙃē‚¹ć§ć¾ćØ悂ćŖéžåŒęœŸredisć‚Æćƒ©ć‚¤ć‚¢ćƒ³ćƒˆć‚’åæ…要ćØć™ć‚‹ć®ć§ć€é©åˆ‡ćŖć‚‚ć®ć‚’é–‹å§‹ć™ć‚‹ć“ćØćÆę‚Ŗ恄考恈恧ćÆć‚ć‚Šć¾ć›ć‚“ć€‚ 恟ćØ恈恰态redis-pyć§ćƒ—ćƒ­ćƒˆć‚³ćƒ«č§£ęžć‚³ćƒ¼ćƒ‰ć®äø€éƒØ悒ćƒŖćƒ•ć‚”ć‚Æć‚æćƒŖćƒ³ć‚°ć—ć¾ć™ć€‚

恂ćŖ恟ćÆ今gevent悒ä½æć£ć¦ć„ć¾ć™ć‹ļ¼Ÿ

@dvirskyéžåŒęœŸI / O悒ä½æē”Ø恗恦态gevent态eventletć€ćŠć‚ˆć³ćƒžćƒ«ćƒćƒ—ćƒ­ć‚»ćƒƒć‚·ćƒ³ć‚°ļ¼ˆpreforkļ¼‰ć‚’ć‚µćƒćƒ¼ćƒˆć—ć¾ć™ć€‚ 恗恋恗态恂ćŖ恟恌1ć¤ć‚’ć‚µćƒćƒ¼ćƒˆć™ć‚‹ćŖ悉态恂ćŖ恟ćÆ通åøøä»–ć®ć‚‚ć®ć‚’ęŒć£ć¦ć„ć¾ć™ć€‚

ćÆ恄态gevent恌ć‚æć‚¹ć‚Æć«ć‚ˆć‚Šé©ć—ć¦ć„ć‚‹å “åˆćŒć‚ć‚Šć¾ć™ć€‚ 恟ćØ恈恰态ć‚æć‚¹ć‚ÆćŒćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹ć«ę›øćč¾¼ć‚€ć‹ć€HTTPćƒŖć‚Æć‚Øć‚¹ćƒˆć‚’å®Ÿč”Œć™ć‚‹å “åˆćŖ恩恧恙怂
FD悒geventć«å…¬é–‹ć—ć¦ē™»éŒ²ć™ć‚‹ć®ćÆē°”å˜ć§ć™ćŒć€py-hiredisć§ć•ć‚‰ć«ä½œę„­ć™ć‚‹åæ…č¦ćŒć‚ć‚Šć¾ć™ć€‚

@dvirsky恓悌ćÆ态PyCurlć§ć©ć®ć‚ˆć†ć«č”Œć‚ć‚Œć‚‹ć‹ć®ä¾‹ć§ć™ć€‚ https://gist.github.com/GuoJing/5875326
geventćØć‚³ćƒ©ćƒœćƒ¬ćƒ¼ć‚·ćƒ§ćƒ³ć™ć‚‹ć«ćÆ态FDć‚’å…¬é–‹ć™ć‚‹åæ…č¦ćŒć‚ć‚Šć¾ć™ć€‚

ē§ćÆ꜀čæ‘态Redisć®ć‚»ćƒ­ćƒŖć‚µćƒćƒ¼ćƒˆć‚’å–ć‚Šå·»ćå•é”Œć‚’ē“¹ä»‹ć•ć‚Œć¾ć—ćŸć€‚å¾¹åŗ•ēš„ćŖåˆ†ęžćÆ完äŗ†ć—ć¦ć„ć¾ć›ć‚“ćŒć€asyncio悒ä½æē”Ø恗恦python redisć‚Æćƒ©ć‚¤ć‚¢ćƒ³ćƒˆć‚’ä½œęˆ/ć‚¢ćƒƒćƒ—ć‚°ćƒ¬ćƒ¼ćƒ‰ć™ć‚‹ć“ćØćÆč‰Æć„č€ƒćˆć®ć‚ˆć†ć«ę€ćˆć¾ć™ćŒć€ęœ€čæ‘ć®ćƒ™ćƒ³ćƒćƒžćƒ¼ć‚Æ恋悉ćÆć€ćć‚ŒćŒęœ€å–„ć§ć—ć‚‡ć†ć€‚ asyncio + libuv恮äøŠć«å®Ÿč£…ć•ć‚Œć€åÆčƒ½ćŖé™ć‚Šå¤šćć®ćƒ‘ćƒ•ć‚©ćƒ¼ćƒžćƒ³ć‚¹ć‚’ēµžć‚Šč¾¼ćæć¾ć™ć€‚

å‚č€ƒć®ćŸć‚ć«å‚ē…§ć—ć¦ćć ć•ć„

恓恮ē«‹å “恫åÆ¾ć—ć¦ć€ć¾ćŸćÆå•é”Œć‚’č¤‡é›‘ć«ć™ć‚‹ćŸć‚ć«ć€é–‹ē™ŗč€…ćŠć‚ˆć³ćƒ¦ćƒ¼ć‚¶ćƒ¼ćØ恗恦恮Redisć‚Æćƒ©ć‚¤ć‚¢ćƒ³ćƒˆć§ć®ē§č‡Ŗčŗ«ć®ēµŒéØ“ć‹ć‚‰ć€libuvć«å®Œå…Øć«ä¾å­˜ć™ć‚‹ćØć€å®Ÿéš›ć«ćÆć‚Æćƒ©ć‚¤ć‚¢ćƒ³ćƒˆćŒęœ€å¤§ć®ćƒ‘ćƒ•ć‚©ćƒ¼ćƒžćƒ³ć‚¹ć‚’é”ęˆć§ććŖ恏ćŖć‚Šć¾ć™ć€‚ćć®ćŸć‚ć«ćÆ态hiredis恌åæ…é ˆć§ć™ć€‚ libuvć®å†…éƒØ恧ćÆć€å®Ÿéš›ć«io恌遅恏ćŖ悋恓ćØćŒć‚ć‚Šć¾ć™ćŒć€ioredisćÆNodeć‚’ä»‹ć—ć¦ćć‚Œć‚’å®Ÿč”Œć—ć¾ć™ćŒć€å®Ÿéš›ć«ćÆćƒ‘ćƒ•ć‚©ćƒ¼ćƒžćƒ³ć‚¹ćŒé«˜ćć‚ć‚Šć¾ć›ć‚“ć€‚

ć—ćŸćŒć£ć¦ć€ē§ćŒęƒ³å®šć™ć‚‹ć‚½ćƒŖćƒ„ćƒ¼ć‚·ćƒ§ćƒ³ć«ćÆć€ę··åˆć•ć‚ŒćŸhiredis-asyncå®Ÿč£…ćŒć‚ć‚Šć¾ć™ć€‚ ļ¼ˆåˆ„恮čØ€ć„ę–¹ć‚’ć™ć‚Œć°ć€ćŸćć•ć‚“ć®éøęŠžč‚¢ć‚’č©¦ć—ć¦ć€ćŸćć•ć‚“ć®ćƒć‚§ćƒŖćƒ¼ćƒ”ćƒƒć‚­ćƒ³ć‚°ćØćƒ™ćƒ³ćƒćƒžćƒ¼ć‚Æ悒試恙åæ…č¦ćŒć‚ć‚Šć¾ć™ļ¼‰

@ merl-dev問锌ćÆ依ē„¶ćØ恗恦PyPy恧恂悊态hiredis + cffićÆē“”ē²‹ćŖPythonćƒ—ćƒ­ćƒˆć‚³ćƒ«ćƒ‘ćƒ¼ć‚µćƒ¼ć®å®Ÿč£…ć‚ˆć‚Šć‚‚redisćƒ—ćƒ­ćƒˆć‚³ćƒ«ć®č§£ęžć«ę™‚é–“ćŒć‹ć‹ć‚Šć¾ć™ć€‚
少ćŖ恏ćØ悂ē§ć®ćƒćƒ¼ć‚øćƒ§ćƒ³ć§ćÆ态redis-pyć§ć„ćć¤ć‹ć®ćƒ†ć‚¹ćƒˆć«å¤±ę•—ć—ć¦ć„ć¾ć™ć€‚ https://github.com/redis/hiredis-py/pull/46ć‚’å‚ē…§ć—恦

CPythonę‹”å¼µę©Ÿčƒ½ćØ恗恦hiredisć‚Æćƒ©ć‚¤ć‚¢ćƒ³ćƒˆć‚’ä½œęˆć™ć‚‹ć“ćØćÆ完å…Ø恫åÆčƒ½ć§ć™ć€‚ CFFI恫恤恄恦ćÆć¾ć 100ļ¼…ē¢ŗäæ”ćŒć‚ć‚Šć¾ć›ć‚“ć€‚

å–å¾—ć—ć¾ć—ć‚‡ć†

@thedrow恓悌ćÆē§ć«ę€ć„å‡ŗć•ć›ć¾ć™-ꖰ恗恄redisć‚¹ćƒˆćƒŖćƒ¼ćƒ ę©Ÿčƒ½ć‚’č¦‹ć¾ć—ćŸć‹ļ¼Ÿ 恓悌ćÆ态ē¾åœØć®ć‚‚ć®ć‚ˆć‚Šć‚‚å …ē‰¢ćŖćƒ”ćƒƒć‚»ćƒ¼ć‚øćƒ–ćƒ­ćƒ¼ć‚«ćƒ¼ćØ恗恦ä½æē”Øć§ćć¾ć™ć€‚ 間悂ćŖ恏GA恫ćŖć‚Šć¾ć™ć€‚

ē§ćŸć”ćÆć—ć¦ć„ć¾ć›ć‚“ć€‚ ē¾åœØ态redisćƒ–ćƒ­ćƒ¼ć‚«ćƒ¼ć‚’ćƒŖćƒ•ć‚”ć‚Æć‚æćƒŖćƒ³ć‚°ć™ć‚‹ę©Ÿčƒ½ćÆć‚ć‚Šć¾ć›ć‚“ć€‚
ē§ćŸć”ćÆ恂ćŖćŸćŸć”ćŒćć†ć™ć‚‹ćŸć‚ć«ć„ćć¤ć‹ć®äŗˆå‚™ć®ę‰‹ć‚’ęŒć£ć¦ć„ć‚‹ć“ćØć‚’ęœ›ć‚“ć§ć„ć¾ć—ćŸć€‚

@thedrowē§ćŸć”ćÆ...ä½•ć‚‚ē“„ęŸć—ćŖć„ć‹ć‚‚ć—ć‚Œć¾ć›ć‚“ćŒć€redisć‚Øć‚³ć‚·ć‚¹ćƒ†ćƒ ć‚’ē©ę„µēš„ć«ć‚µćƒćƒ¼ćƒˆć™ć‚‹ćŸć‚ć«ć•ć‚‰ć«ć„ćć¤ć‹ć®ćƒŖć‚½ćƒ¼ć‚¹ć‚’ę§ć’ć‚‹ć‹ć‚‚ć—ć‚Œć¾ć›ć‚“ć€‚

@dvirsky恂ćŖ恟ćÆć“ć®ęę”ˆć‚’ę„å‘³ć—ć¾ć™ć‚ˆć­ļ¼Ÿ ć—ćŸćŒć£ć¦ć€ TAPPEND悒ä½æē”Ø恗恦ć‚Øćƒ³ć‚­ćƒ„ćƒ¼ć—ć€ TREAD + TACK悒ä½æē”Øć—ć¦ćƒ‡ć‚­ćƒ„ćƒ¼ć€å‡¦ē†ć€ćŠć‚ˆć³ē¢ŗčŖåæœē­”ć‚’č”Œć†ć“ćØćŒć§ćć¾ć™ć€‚

@georgepsarakis恓悌ćÆ悂ćÆć‚„ęę”ˆć§ćÆćŖćć€ę©Ÿčƒ½ć—ć¦ćŠć‚Šć€ćƒ—ćƒ¬ćƒ•ć‚£ćƒƒć‚Æć‚¹ćÆXć€ć¤ć¾ć‚ŠXADD恧恙怂 https://www.youtube.com/watch?v=ELDzy9lCFHQć‚’å‚ē…§ć—恦

恧ćÆ态redisćƒ–ćƒ­ćƒ¼ć‚«ćƒ¼ć‚’ć‚µćƒćƒ¼ćƒˆć™ć‚‹ćŸć‚ć®ęœ€å¾Œć®å‘¼ć³ć‹ć‘ćÆä½•ć§ć™ć‹ļ¼Ÿ čæ‘ć„ć†ć”ć«éžęŽØå„Ø恫ćŖ悋äŗˆå®šć§ć™ć‹ļ¼Ÿ

ē¾ę™‚ē‚¹ć§ćÆćŖ恄怂

ć‚³ćƒŸćƒ„ćƒ‹ćƒ†ć‚£ćŒć©ć”ć‚‰ć®ę–¹å‘ć«å‚¾ć„ć¦ć„ć‚‹ć®ć‹ć‚ć‹ć‚Šć¾ć›ć‚“ć§ć—ćŸćŒć€ę–°ć—ć„ćƒ—ćƒ­ć‚ø悧ć‚Æćƒˆć‚’é–‹å§‹ć—ć¦ćŠć‚Šć€å»ƒę­¢ć™ć‚‹ć“ćØć‚’č€ƒćˆć¦ć„ć‚‹ćŸć‚ć€ćƒ–ćƒ­ćƒ¼ć‚«ćƒ¼ćØ恗恦Redis悒ä½æē”Ø恙悋恓ćØ悒čŗŠčŗ‡ć—ć¦ć„ć¾ć™ć€‚ 考恈ļ¼Ÿ

redisćƒ–ćƒ­ćƒ¼ć‚«ćƒ¼ćŒå½“é¢ć®é–“ćØć©ć¾ć‚‹ćØęƒ³å®šć™ć‚‹ć®ćÆ安å…Ø恧恙怂 ć‚ć¾ć‚Šć«ć‚‚å¤šćć®äŗŗ恌恝悌悒äø­ē¶™ć—ć¾ć™ć€‚

ćć®é–“ćšć£ćØļ¼ƒ301 / 601ćÆå¤ććŖć£ć¦ć„ć¾ć™ć€‚

@ermikćÆć€é–¢é€£ć™ć‚‹å•é”Œć«ć¤ć„ć¦ćć‚Œć‚’ē†č§£ć™ć‚‹ć®ć‚’

ć“ć®ćƒšćƒ¼ć‚øćÆå½¹ć«ē«‹ć”ć¾ć—ćŸć‹ļ¼Ÿ
0 / 5 - 0 č©•ä¾”