LuckPerms

LuckPerms

41.4k Downloads

[Suggestion] Add Redis support as main storage

Feniksovich opened this issue · 4 comments

commented

Description

As you already know, Redis is a high performance database. It beats SQL-type databases in many ways, mostly in terms of performance. Initially, Redis was offered by developers for use under the application cache or any brokers. But its potential is much bigger. My guess is that Redis and other NoSQL databases will soon displace SQL-type databases in terms of usage.

I would like to use SQL databases to a minimum, but I have to keep a SQL server for several MC servers with LuckPerms installed on.

Getting to the point, I want to suggest adding the ability to use Redis as the main storage.

I know that the implementation of this idea will take a lot of effort and time.
So it may be up to the LuckPerms community to decide if this feature is necessary or really unnecessary.
In any case, the final word will remain with you, the LuckPerms developers.

P.S. Redis may require specified configuration to use it as the storage. Due to Redis keep databases in RAM, you will need to configure automatic replica creation and pasting after Redis service (or machine at all) restarting.

Also, LuckPerms will need to send command (save) to Redis to create dump on hard drive after each action that change data in database.

commented

Please follow the template in order to make properly understanding and implementing suggestions as smooth and fast as possible

commented

Please follow the template in order to make properly understanding and implementing suggestions as smooth and fast as possible

Just accidentally pressed Enter before filling out the form ¯_(ツ)_/¯

commented

oh fantastic ty ty 😄

commented

Redis persistence has always been a bit dodgy. It might've improved in recent years, but from a quick glance at https://redis.io/topics/persistence it seems it still suffers from similar flaws.

The performance gain you'd get from using Redis over something like MySQL is going to be quite small, and since LP does all of its operations async anyway, the difference is going to have no impact.

Using Redis as a persistent database is not something I would recommend doing, and for that reason is not something I want to integrate into LuckPerms. The current database offering we support is more than sufficient in my opinion.