redis eval 명령어에 대해서 알아봅시다.
저번시간에 redis의 incr에 대해 배웠습니다. 그러면서 ttl이 있는 counter를 구현해 보았는데요. 한 가지 문제점이 있었습니다. incr을 하고, ttl을 설정하는 것이 2개의 작업으로 쪼개졌었습니다. 이 작업 하나 하나는 atomic 하겠지만, 두 개의 작업은 그렇지 않습니다. race condition이 발생했을 때, 문제가 발생할 수 있는 여지가 있었는데요. 문서에서 몇 가지 방법을 소개했었습니다. 그 중에 2.6 이상부터 가능한 LUA script와 eval 명령어를 이용하는 방법이 있습니다. 간단하게 소개해 드리도록 하겠습니다. 먼저, eval은 LUA script, key 갯수, 키, argument들로 구성됩니다. 스크립트는 이 문서를 보시면 됩니다만, 간단한 예제 몇 개를 보면..
REDIS
2023. 1. 5. 23:56
최근댓글