[redis] lua 사용 사례

Redis 2017. 7. 25. 16:28



redis에 lua를 사용할 수 있다. 언제 쓰면 좋을까?



애플리케이션-Redis 구조에서는 특별히 사용할 일이 없어보이지만,


Transmission Time(Latency)을 최대한 늦추고 Network Bandwith를 줄이고 싶을 수 있을 때 사용할 수 있다. 


여러번 또는 수십 번 통신 비용을 쓰기 보다 한 번의 콜로 해결할 수 있다면 통신 비용을 아낄 수 있을 때, 사용하는 것이 좋을 것 같다.





레디스 자료 중에 관련 lua 사례가 있다.


https://github.com/RedisLabs/geo.lua의 코드이다.


여러번 반복적인 커맨드를 사용해서 데이터를 읽어와야 하는 경우에..


geodist key elem1 elem2 

geodist key elem3 elem4

geodist key elem5 elem6



이를 lua 코드로 geopathlen key elem1 elem2 elem3, elem4, elem5, elem6로 한번에 호출할 수 있다.



그리고 리스트의 랜덤 결과 값을 얻어온다고 할 때도 도움이 될 수 있을 것이다.



이외에 WATH/MULTI/DISCARD/EXEC 와 같은 트랙잭션 코드를 lua로 쉽게 해결할 수 있을 것이다.





아래는 RedisLab에서 발표한 Lua 사례 내용이다.



Redis: Lua scripts - a primer and use cases from Redis Labs



Posted by '김용환'
,