Redisã®ä»çµã¿ â ååäŸ¡æ Œããæå ã®æ§ããããè¿ã
ãããã®äŸ¡æ Œããå ããŒã¿ãšæ§ãã§æ¯ã¹ã
- 身è¿ãªäŸã§ä»çµã¿ã説æã§ãã
- äŸã®å ¥åãšçµæãæ¯ã¹ãæç«æ¡ä»¶ã確èªãã
ãŸãã¯ã120åã®ãæ§ãããæ®ãå Žé¢ãèŠã
é販ã§ããããã®äŸ¡æ ŒãèªããšããŸããå ããŒã¿ããŒã¹ãæ£ããäŸ¡æ Œã管çããRedisã¯èªã¿åãçšã®æ§ããæã€ããšããäŸã§ãã
| é çª | ã¢ããªã®åäœ | äŸ¡æ Œ |
|---|---|---|
| 1 | Redisã«å€ããªãã®ã§DBãèªã¿ãæ§ããä¿å | 120å |
| 2 | Redisã®æ§ããæ®ã£ãŠããã®ã§äœ¿ã | 120å |
| 3 | DBã ã150åãžæŽæ°ãæ§ãã¯å€æŽãããŠããªã | 120å |
| 4 | æ§ããåé€ããæ¬¡ã®èªã¿åãã§DBããååŸ | 150å |
å€ãããç¶æ ããã£ãã·ã¥ãããããªãç¶æ ããã£ãã·ã¥ãã¹ãšåŒã³ãŸããRedisãå ããŒã¿ã®å€æŽãèªåã§ç¥ãããã§ã¯ãããŸããããã£ãã·ã¥ãå ãããšããéãè¿ãçµè·¯ããšäžç·ã«ãå€ãæ§ããã©ãæ±ããããèšèšããããšã«ãªããŸãã
ããŒãšæéãå°ãã詊ã
èªåå°çšã®ç·Žç¿çšRedisãšredis-cliãæ¢ã«ããå Žåã®äŸã§ããå ±æã»æ¬çªã®Redisã§è©Šãããæ¥ç¶å ãšã以äžã®ããŒãæªäœ¿çšã§ããããšã確èªããŠãã ãããå°å ¥ãã詊ããªãRediså ¥éãžé²ããŸãã
SET hiyopen:demo:price 120 EX 60
GET hiyopen:demo:price
TTL hiyopen:demo:price
DEL hiyopen:demo:price
GET hiyopen:demo:price
æåã®SETã¯ãå€120ãšæå¹æé60ç§ãäžç·ã«æå®ããŸããæéåãªãGETã§"120"ãèªããŸããTTLã¯æ®ãç§æ°ãè¿ããŸãããæäœäžã«æéãé²ãããå¿
ã60ã«ã¯ãªããŸãããDELã§ãã®ããŒã ããåé€ããåŸã¯ãGETã¯å€ãªãã«ãªããŸããredis-cliã§ã¯éåžž(nil)ãšè¡šç€ºãããŸãã
60ç§ã¯ä»çµã¿ãèŠãããã®å€ã§ããå®ãµãŒãã¹ã«é©ããæéã¯ãæŽæ°é »åºŠãèš±ãããå€ããDBã®è² è·ã§æ±ºããŸããæŽæ°åŠçãšèªã¿åããåæã«èµ°ããšãåé€ããçŽåŸã«å€ãèªã¿åãçµæãåä¿åããç«¶åããããTTLã ãã§æŽåæ§ãä¿èšŒã§ããŸããã
ããå°ã詳ããïŒåã»å®¹éã»åŸ©æ§ãåããŠèãã
æååã¯äŸ¡æ Œãçãå€ãHashã¯é ç®ãæã€ããŒã¿ãListã¯é åºã®ãã䞊ã³ãSetã¯éè€ããªãéåãSorted Setã¯ã¹ã³ã¢ä»ãã®äžŠã³ãªã©ã«äœ¿ããŸããRedisã®æ©èœã¯ãã®5çš®é¡ã ãã«éããã䜿ãããŒãžã§ã³ã®ããŒã¿åäžèЧã確èªããŸãããã
ã¡ã¢ãªã®äžéã«éãããšãã¯ã远ãåºãæ¹ã®èšå®ãå¹ããŸããnoevictionã§ã¯æ°ããããŒã¿ãæžã蟌ãäžéšã®ã³ãã³ãããšã©ãŒã«ãªããŸããæéåãã§æ¶ããããšãšã容éã®éœåã§æ¶ããããšã¯å¥ã§ããæ¶ããå€ãåãçŽãèšèšãšããšã©ãŒæã®æ±ããçšæããŸãã
RDBãšAOFã¯åèµ·åããã®åŸ©æ§ãæ¯æŽããŸãããããã¯ã¢ããã®ä»£ããã«ãªããšã¯éããŸãããä¿åé »åºŠãAOFã®fsyncæ¹éããã¡ã€ã«ã®ä¿ç®¡å ã«ãã£ãŠèããããé害ãéããŸããPub/SubãšStreamsãåäžã§ã¯ãªããPub/Subã¯éç¥ãåãæãªããšå€±ãããŸããStreamsã䜿ã£ãŠããååŠçã§åãæ¥åãäºéã«è¡ããªãèšèšã¯å¿ èŠã§ãã
å°å ¥æã¯ããŒãžã§ã³ãšã©ã€ã»ã³ã¹ã確èª
Redis 7.2以åã¯BSD-3-Clauseã7.4ã¯RSALv2ãŸãã¯SSPLv1ã8以éã¯AGPLv3ãå«ã3ã€ã®éžæè¢ããããŸããæäŸåœ¢æ ã»å€æŽã®æç¡ã»å©ç𿹿³ã«å¿ããŠãå®éã«æ¡çšããçã®æ¡ä»¶ã確èªããŠãã ããããããŒãžã補åã®å¥çŽæ¡ä»¶ãåäžãšã¯éããŸããã
èŠãæ¹ã𿬡ã®äžæ©
ãRedisãã£ãŠåºãŠãããããã䜿ãå€ãæå ã«çœ®ããã¡ã¢ãªã®ããŒã¿çœ®ãå Žããšæãã°ã ãããOKïŒ ãã£ãã·ã¥ã¯å ããŒã¿ãšæ§ãã®éããæèããŸãããã
次ã¯Rediså ¥éã§ããŒã詊ããRedisãšMemcachedã®æ¯èŒã§å¿ èŠãªæ©èœãæŽçã§ããŸãã
åèè³æ
-
RedisïŒData types â æååã»Hashã»Listã»Setã»Sorted Setãªã©ã®ããŒã¿å
-
RedisïŒSET â å€ãšEXã«ããæå¹æéã®æå®
-
RedisïŒEXPIRE â ããŒã®æéãšæéåŸã®åé€
-
RedisïŒKey eviction â 容éäžéãšnoevictionãªã©ã®æ¹é
-
RedisïŒPersistence â RDBã»AOFãšåŸ©æ§ã®éç
-
RedisïŒPub/Sub â at-most-onceã®éç¥ãšStreamsãšã®éã
-
RedisïŒLicenses â çã«ããã©ã€ã»ã³ã¹ã®éã
-
RedisïŒTTL â æ®ãç§æ°ãšå€ããªãå Žåã®è¿ãå€
-
RedisïŒDEL â æå®ããããŒã®åé€