-
Notifications
You must be signed in to change notification settings - Fork 89
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
Add Redis cache backend - System::Cache::Redis. #112
base: dev
Are you sure you want to change the base?
Conversation
👍 |
Hi @ymyasoedov, cool that you took the time and built a new cache backend. 🚀 So... that we can use the backend in the future, you have to complete a few tasks.
# examples:
System/JSON.pm
System/Storable.pm
System/VirtualFS.pm
System/XML.pm
System/YAML.pm # Redis function you used.
$Self->{Redis}->del();
$Self->{Redis}->flushdb();
$Self->{Redis}->get();
$Self->{Redis}->sadd();
$Self->{Redis}->scan();
$Self->{Redis}->select();
$Self->{Redis}->set();
$Self->{Redis}->smembers();
If you have any questions or need assistance, let me know. best regards 👍🏼 |
Hi, this patch adds Redis support via the Perl modules Redis or Redis::Fast. Another idea is to provide generic support for CHI, https://metacpan.org/pod/CHI, and then use CHI::Driver::Redis. This would allow easy integration of other caching modules. |
@bschmalhofer Nice idea to have a generic caching layer. Do you have any experience regarding performance? As far as I see it's another layer we add when using CHI. |
I haven't used CHI myself, but it sound like the normal thing to to. I took a quick look at the code of CHI::Driver::Redis and as expected it looks like a simple wrapper of the module Redis. My guess is that the performance hit would not be noticable. We are considering CHI for OTOBO, but of course this change has no high priority, RotherOSS/otobo#107. |
Hi @ymyasoedov what's the status here? best 🚀 |
Hi! Unfortunately, I haven't enough free time for that activity. I've proposed my module as it is. Beside that, I don't see any valuable benefit of making that additional abstraction layer with reduced API compared to original Redis (or Redis::Fast) module, it won't add neither additional functionality nor convenience. Redis has its own good set of unit tests, and it looks like an unneeded duplication of work. |
Hi This branch has conflicts that must be resolved. Thank you! 🚀 |
We will keep this PR open and hope for help from another developer to assist the contributor to meet the requirements. |
Proposed change
This PR adds a new cache backend based on Redis.
Additional information
Checklist