Rediså ¥é â å€ãä¿åãã30ç§ã§æ¶ããããŒã詊ãã
åŒãåºãã®ã©ãã«ã§ãå€ãåãåºã
- ç·Žç¿ã³ã³ãããŒã§SETãšGETã詊ã
- TTLãšæéåãã®å€ã確ããã
- å ããŒã¿ãšæ°žç¶åã®éããç¥ã
æåã®ãŽãŒã«ïŒ200ãä¿åããæéåŸã«æ¶ããããèŠã
ä»åã¯30ç§ã ãæ®ãååäŸ¡æ Œãä¿åããŸããRedisã®ãã£ãã·ã¥ã®æèŠãã€ããç·Žç¿ã§ããDocker Engine 28.0.0以äžãšéåžžã®bridgeãããã¯ãŒã¯ã䜿ããŸãã端æ«ãžDockerãå°å ¥æžã¿ã§ãLinuxã³ã³ãããŒãåãããããšãåæã§ããæºåã¯Dockerå ¥éãåç §ããŠãã ããã
èªåã®ç«¯æ«ã ãã®ç·Žç¿ç°å¢ãèµ·åãã
docker run --rm -d --name learning-redis -p 127.0.0.1:6379:6379 redis:8 redis-server --save "" --appendonly no
docker exec -it learning-redis redis-cli
1è¡ç®ã¯èµ·åã2è¡ç®ã¯CLIãžã®æ¥ç¶ã§ãããã¹ãåŽã¯127.0.0.1ãžéå®ããä»åã¯æ°žç¶åãç¡å¹ã«ããŸããæ¢åã®6379çªããŒããååã³ã³ãããŒãããå Žåã¯ãæ¢åã®ãã®ãæ¢ãããç·Žç¿çšã®ååã»ãã¹ãåŽããŒããå€ããŠãã ããã
CLIã§PINGãå
¥åããPONGãè¿ãã°æ¥ç¶æåã§ããRedis 8ã®ç³»åãæå®ããŠããŸããåçŸæ§ãããå³å¯ã«ç®¡çããå Žåã¯ãæ¡çšãããããçãã€ã¡ãŒãžãã€ãžã§ã¹ããåºå®ããŸãã
SETã»GETã»TTLã詊ã
以äžã¯redis-cliã®äžã§å
¥åããã³ãã³ãã§ãã>ã説æã®çµæã¯å
¥åããŸããã
SET hiyopen-demo:price 200 EX 30
GET hiyopen-demo:price
TTL hiyopen-demo:price
SETã¯OKãçŽåŸã®GETã¯"200"ãTTLã¯0ã30ã®æ®ãç§æ°ãç®å°ã§ãã30ç§ä»¥äžåŸ
ã£ãŠããäžåºŠç¢ºèªããŸãããã
GET hiyopen-demo:price
TTL hiyopen-demo:price
GETã¯(nil)ãTTLã¯-2ã«ãªããŸããéäžã§å€ãèšå®ãçŽããå Žåã¯ããã®èšå®æç¹ããæéãæ°ããŸãã
| TTLã®å€ | æå³ |
|---|---|
| 0ä»¥äž | æ®ãã®ç§æ° |
| -1 | ããŒã¯ãããæéããªã |
| -2 | ããŒããªã |
SET key valueã ãã§äžæžããããšã以åã®æéã¯åãé€ãããŸããæ°ããæéãEXã§æå®ããããçšéã«å¿ããŠKEEPTTLãªã©ã®ãªãã·ã§ã³ã䜿ããŸãããã
ãã£ãã·ã¥ãšå ããŒã¿ãåããŠèãã
ãã£ãã·ã¥ã¯ãããäžåºŠäœã£ããèªã¿èŸŒãã ãã§ããããŒã¿ã®çœ®ãå Žæã§ããããšãã°æ¬æ¥ã®äŸ¡æ ŒãDBãžä¿åããŠãããRedisã«äŸ¡æ Œãããã°äœ¿ãããªããã°DBããèªã¿ãŸãã
æéãèšããŠããäŸ¡æ ŒæŽæ°ã®çŽåŸããå¿ ãææ°å€ã«ãªãããã§ã¯ãããŸãããæŽæ°æã«ããŒãæ¶ããªã©ãå ããŒã¿ãšãã£ãã·ã¥ãããããæ¹æ³ãèããŸãã
Redisã«ã¯Stringã®ã»ãHashã»Listã»Setãªã©ã®åããããŸããäžæããŒã¿ã ãã§ãªããæ§æã«å¿ããŠå¥ã®çšéã«ã䜿ããŸããåãéç¥ã®ä»çµã¿ãããã®ãŸãŸæ°žç¶çãªã¡ãã»ãŒãžé éã®ä¿èšŒãšåäžèŠããªãããšã倧åã§ãã
ç·Žç¿ãçµããã»ä¿åãèšèšãã
redis-cliã§QUITãå
¥åããŠæãã端æ«åŽã§èªåã®ç·Žç¿ã³ã³ãããŒã忢ããŸãã
docker stop learning-redis
--rmã§äœã£ããã忢åŸã«ã³ã³ãããŒã¯åé€ãããŸããä»åã¯ããªã¥ãŒã ãæ°žç¶åã䜿ã£ãŠããŸãããã€ã¡ãŒãžèªäœã¯æ®ããŸãã
å®åã§ã¯RDBãæç¹ã®ã¹ãããã·ã§ãããAOFãæžã蟌ã¿ãã°ãä¿åããŸããä¿åééãåæèšå®ãéå®³ã®æ¡ä»¶ã«ãã£ãŠå€±ãå¯èœæ§ã®ããç¯å²ãå€ãããŸãããæ°žç¶åãæå¹ã«ããã°æå€±ãŒãããšããä¿èšŒã§ã¯ãããŸããã æ¥ç¶ã¯ä¿¡é Œã§ããã¯ã©ã€ã¢ã³ããžéå®ããACLã»ãããã¯ãŒã¯å¶åŸ¡ãªã©ãèšèšããŸãã
次ã«åŠã¶ãªã
Redisã®ä»çµã¿ã§åãä¿åã®åœ¹å²ãããã£ãã·ã¥ã®ä»çµã¿ã§å ããŒã¿ãšäžæä¿åã®é¢ä¿ãåŠã³ãŸãããã
åèè³æ
- Redis Docker â ã³ã³ãããŒãšredis-cli
- Redis SET â EXãšæéã®äžæžã
- Redis TTL â æ®ãç§æ°ãšè² ã®å€
- Redis Persistence â RDBã»AOFãšä¿åèšå®
- Redis Security â æ¥ç¶å ã®å¶é
- Docker Port publishing â ã«ãŒãããã¯å ¬éã®æ¡ä»¶