Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

contents를 캐시에 저장하거나 가져올 때 메모리에 올릴 필요가 없을 것 같습니다. #25

Open
viva-jay opened this issue Jul 1, 2022 · 3 comments
Assignees
Labels
cache 💫 enhancement New feature or request

Comments

@viva-jay
Copy link
Collaborator

viva-jay commented Jul 1, 2022

요청 받은 contents를 upstream으로 부터 가져와서 캐시에 전달하거나 캐시로 부터 받을 때
메모리에 올릴 필요가 없을 것 같습니다.

contents를 참조할 수 있는 메타 정보만 메모리에 유지하고
contents는 DirectBuffer에 담아서 전달하는게 어떨까요?

@viva-jay viva-jay assigned DAMICHOI and unassigned DAMICHOI Jul 1, 2022
@viva-jay viva-jay added cache 💫 enhancement New feature or request labels Jul 1, 2022
@viva-jay viva-jay self-assigned this Jul 1, 2022
@DAMICHOI
Copy link
Member

DAMICHOI commented Jul 1, 2022

기존의 Cache는 데이터를 공유 메모리에 올리고, 파일로 저장하는 두 가지의 프로세스로 진행중입니다.

파일을 데이터로 저장하는 부분을 제거하고, 캐시 호출 시에 파일을 DirectBuffer에 담아 전달하면 되기 때문에 구현 부분에서는 어렵지는 않습니다.

그런데 혹시 변경하고자 하는 이유에 대해 여쭤봐도 될까요?

@viva-jay
Copy link
Collaborator Author

viva-jay commented Jul 1, 2022

데이터를 어플리케이션으로 올려서 별도의 처리가 필요하지 않다면 힙에 올릴 필요 있을까요. 불필요한 GC와 데이터 복사를 일으킬 이유가 없다고 생각했습니다 😄

@viva-jay viva-jay changed the title contents 전달을 메모리에 올릴 필요가 없을 것 같습니다. contents를 캐시에 저장하거나 가져올 때 메모리에 올릴 필요가 없을 것 같습니다. Jul 1, 2022
@DAMICHOI
Copy link
Member

DAMICHOI commented Jul 1, 2022

네, 그 부분에 대해 동의합니다.

이미 알고 계시겠지만 Nginx에서도 메타 데이터와 캐시 키만 힙 메모리에 올리고, 파일로 저장한 후 요청 시 캐시 키를 이용하여 파일을 찾아 전달하는 프로세스로 되어있습니다. 😄

그럼 의견 주신 사항에 대해 수정이 완료되면 브랜치 등록하도록 하겠습니다! 🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cache 💫 enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants