레디스를 사용하면서 배치에서 rdb가 아닌 레디스를 통해서 sortedSet의 데이터를 읽고 읽은것을 삭제시켜야 하는 프로젝트가 있다
현재 여기서 sortedSet의 데이터가 커서 del명령어를 수행하며 spring batch를 돌리고 있었으나 문제가 있었다
그렇게 자연스레 UNLINK라는 명령어를 알게되었고 둘의 차이는 다음과 같다
UNLINK와 DEL 명령은 모두 키와 그에 해당하는 값을 데이터베이스에서 제거하는 명령어지만
UNLINK 명령은 키를 데이터베이스에서 제거하지만 즉시 값을 삭제하지 않습니다. 대신 값은 나중에 백그라운드에서 비동기식으로 삭제됩니다.
이로 인해 DEL 명령보다 훨씬 빠를 수 있습니다.
DEL 명령은 키를 데이터베이스에서 제거하고 즉시 값을 삭제합니다. 이것은 UNLINK 명령보다 느릴 수 있지만 값을 즉시 삭제해야
하는 경우 더 나은 옵션일 수 있습니다.
전반적으로 UNLINK 명령은 값을 즉시 삭제할 필요가 없고 성능을 향상시키고 싶다면 더 나은 옵션입니다. DEL 명령은 값을 즉시 삭제해야 하는 경우 더 나은 옵션이다..! 👍🏼
레디스를 사용하면서 배치에서 rdb가 아닌 레디스를 통해서 sortedSet의 데이터를 읽고 읽은것을 삭제시켜야 하는 프로젝트가 있다
현재 여기서 sortedSet의 데이터가 커서 del명령어를 수행하며 spring batch를 돌리고 있었으나 문제가 있었다
그렇게 자연스레 UNLINK라는 명령어를 알게되었고 둘의 차이는 다음과 같다
UNLINK와 DEL 명령은 모두 키와 그에 해당하는 값을 데이터베이스에서 제거하는 명령어지만UNLINK 명령은 키를 데이터베이스에서 제거하지만 즉시 값을 삭제하지 않습니다. 대신 값은 나중에 백그라운드에서 비동기식으로 삭제됩니다.
이로 인해 DEL 명령보다 훨씬 빠를 수 있습니다.
DEL 명령은 키를 데이터베이스에서 제거하고 즉시 값을 삭제합니다. 이것은 UNLINK 명령보다 느릴 수 있지만 값을 즉시 삭제해야
하는 경우 더 나은 옵션일 수 있습니다.
전반적으로 UNLINK 명령은 값을 즉시 삭제할 필요가 없고 성능을 향상시키고 싶다면 더 나은 옵션입니다. DEL 명령은 값을 즉시 삭제해야 하는 경우 더 나은 옵션이다..! 👍🏼