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

Redis rework #945

Open
2 of 7 tasks
0xERR0R opened this issue Mar 21, 2023 · 3 comments
Open
2 of 7 tasks

Redis rework #945

0xERR0R opened this issue Mar 21, 2023 · 3 comments
Assignees
Labels
🔨 enhancement New feature or request 🧰 technical debts Technical debts, refactoring
Milestone

Comments

@0xERR0R
Copy link
Owner

0xERR0R commented Mar 21, 2023

  • Implementation of GroupedCache to enable read access with multiple groups. (refactor: use groupedCache to optimize cache access #944)
  • Rewrite current logic to use rueidis
  • Redis implementation of GroupedCache (using rueidis)
  • Redis implementation of ExpirationCache (DNS response caching) (using rueidis)
  • Rework Prefetching (Redis & in-memory implementation)
  • if Redis enabled: execution of Jobs (e.g. List refresh, periodic metrics with lists count, prefetching, ...?) only on one instance, (using Redis lock with https://github.com/rueian/rueidis/tree/main/rueidislock)
  • If Redis enabled: synchronization of enabled/disabled (blocking) status via Redis.
@0xERR0R 0xERR0R added this to the v0.22 milestone Mar 21, 2023
@kwitsch kwitsch self-assigned this Apr 14, 2023
@kwitsch kwitsch added 🔨 enhancement New feature or request 🧰 technical debts Technical debts, refactoring labels Apr 14, 2023
@kwitsch kwitsch pinned this issue Apr 14, 2023
@0xERR0R 0xERR0R modified the milestones: v0.22, v0.23 Aug 30, 2023
@0xERR0R 0xERR0R modified the milestones: v0.23, future Nov 17, 2023
@kwitsch
Copy link
Collaborator

kwitsch commented Feb 10, 2024

I picked this one up again since rueidis is stable now and I hadn't worked with it in a while.

I'm stuck with the unit tests(again). 😞
Most of the tests need to be rewritten since minredis don't support some features which rueidis neets.

I can't get my head around how to solve the requirements of the test setups with rueidismock.

I'm currently considering simply spinning up a test container with redis running alongside the tests...

@0xERR0R
Copy link
Owner Author

0xERR0R commented Feb 10, 2024

If we can cover all use cases with e2e tests, why not? Unit test can be helpful to test some edge cases, but if it needs much efford to mock the infrastructure, it is better to throw them away 😄

@kwitsch
Copy link
Collaborator

kwitsch commented Feb 10, 2024

I'll open a PR draft without the tests soon.
Maybe I'm only missing something and it isn't that hard.

more eyes & more thoughts may help 😅

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🔨 enhancement New feature or request 🧰 technical debts Technical debts, refactoring
Projects
None yet
Development

No branches or pull requests

2 participants