Redis
ååã®è¨äº: More Transactional Redis (1) - Redis is not a transactional storage - æã¨åæ°ã¨ç¼¶ãã¼ã«Lua Scriptingã§atomicãªå¦çãå®ç¾ã§ããããï¼ã£ã¦ã¨ãã§ååã®è¨äºã¯çµãã£ã¦ãã¾ãããä»åã¯ãLua Scriptingã試ãéã«è¸ãã¨ããã§ãããstepâ¦
ãªãã¹ï¼ãªã©å«æ空ï¼ã¿ããªå æ°ã«ãã¦ã£ãï¼çªç¶ã ãã©ããªã©ãRedisã«ä¿åãã¦ããã¼ã¿ã«ä»¥ä¸ã®ãããªæä½ããã¦ã¿ãããªã£ã¡ã¾ã£ããã ï¼ããæ¬ä¼¼ã³ã¼ããªï¼ 1: score = ZSCORE {key} {member} 2: if ( ! score ) { 3: score = defaultScore 4: } 5: ZADDâ¦
ããã©ã«ãã®è¨å® (zset-max-ziplist-entries, zset-max-ziplist-value) ã§ã¯ 該å½ããSorted Setã®ã¨ã³ããªæ°ã128åä»¥ä¸ è©²å½ããSorted Setã«å«ã¾ããmember (not score) ã®ãã¼ã¿é·ãå ¨ã¦64byteä»¥ä¸ ã¨ãã2ã¤ã®æ¡ä»¶ãæç«ãã¦ããå ´åãSorted Setã®è¡¨â¦