关于spigot插件 的数据存储的时候,是用mysql存储数据 还是其他方式存储数据,如果是mysql存储数据 那么给别人使用别人服端没有装数据库怎么办
那么给别人使用别人服端没有装数据库怎么办
Micalhl 发表于 2022-11-28 22:33
建议装个数据库
有没有不使用数据库存储数据的方法吗
915842254 发表于 2022-11-28 22:41
有没有不使用数据库存储数据的方法吗
YAML硬存
Micalhl 发表于 2022-11-28 22:42
YAML硬存
好,我去研究研究,谢谢大佬!
915842254 发表于 2022-11-28 22:45
好,我去研究研究,谢谢大佬!
这需要根据您想要存储的数据类型而定 yaml并不是最好的选择
如果您想要存储用户需要手动编辑的内容,比如说config配置文件,那么 yaml 是您最好的选择
但是如果您想要存储玩家的数据,并且读写非常频繁,那么 yaml 只会使得您的插件效率十分低下
当您需要存储玩家数据,但是不想学习数据库时,我会推荐您使用 json 格式对其进行存储,其性能比 yaml 优秀非常多,但通过人眼编辑 json 还是太超前了
另外一点建议,如果您的插件正在现场读取配置文件,比如说在一个同步事件内,您的插件正在从配置文件内现场读取内容,而不是在内存中读取内容,那么一旦操作频繁,这会十分卡顿
我会推荐您将config等配置文件内的常读取内容写入到一个类中,开启时加载,直接从内存中读取,这会有效改善
你可以用sqlite数据库,这是一个本地的单文件数据库,不存在时会自动创建,与mysql语法类似,可以方便切换
yaml、json等数据储存方式需要先把所有数据提前储存在内存中,在大量数据的场景下内存消耗十分可观,不建议储存数据如果将文件分散储存以减少内存占用,那不如直接使用sqlite