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

Use safe datacache format #4703

Open
dvz opened this issue May 19, 2023 · 1 comment
Open

Use safe datacache format #4703

dvz opened this issue May 19, 2023 · 1 comment
Labels
s:feedback Status: Feedback. Further information/input needed t:enhancement Type: Enhancement. Contains minor improvements
Milestone

Comments

@dvz
Copy link
Contributor

dvz commented May 19, 2023

Convert the format of default datacache storage from PHP's own serialize format to improve safety and performance.

JSON or similar formats may be used instead.

Related:

@dvz dvz added t:enhancement Type: Enhancement. Contains minor improvements s:feedback Status: Feedback. Further information/input needed labels May 19, 2023
@dvz dvz added this to the 1.10.0 milestone May 19, 2023
@dvz dvz added this to Unassigned in Development Roadmap via automation May 19, 2023
@dvz dvz moved this from Unassigned to 1.10 in Development Roadmap May 19, 2023
@RevertIT
Copy link
Contributor

I'll be blunt here, but Datacache needs to go and be replaced with new and modern caching handlers. It's actually designed very poorly and it's so easy to hit a bottleneck.

  1. For example my plugin for disposable emails hits several limitations:
    1. mediumtext storing type and serialization.
    2. Site-wide query SELECT title,cache FROM mybb_datacache, so when there are some heavy caches, the query executes for like 3+ seconds. (Again my plugin which I had to split in chunks, still getting bottlenecked because of it even when it's disabled)
    3. Heavy if/else checks with datacache and respective handlers.
    4. Storing all cache functions inside datacache class doesn't help as well, it should be stored and read on-demand.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
s:feedback Status: Feedback. Further information/input needed t:enhancement Type: Enhancement. Contains minor improvements
Projects
Development

No branches or pull requests

2 participants