i was bored and was just scrolling about when I saw Suphi’s DataStore Module (SDM); it seems like a good resource but the API style is not in my liking; so i made my own, with a twist
as you saw in the title, it uses Memory Stores to do session-locking which has far less latency
i made this with the goal of faster load time, no session-locking getting stuck, and just a unprofessional personal replacement for profileservice
this uses exponential backoff for all datastore and memory store operations;
im considering on actually using this in my game but before that i need some feedback since i dont know what im doing;
Entry.rbxm (30.4 KB)
example usage:
local DS = require(script.Entry)
DS:Init()
local Schema = DS:GetSchema({
Name = 'Main';
Structure = {
Coins = 0;
}
})
game.Players.PlayerAdded:Connect(function(player)
Schema:LoadPlayerModelAsync(player, true):andThen(function(Model)
print(Model.Data.Coins)
Model.Data.Coins += 1
Model.Data.Coins ^= 2
print(Model.Data.Coins)
Model:SaveAsync():finallyCall(print, 'saved')
end):catch(warn)
end)
game.Players.PlayerRemoving:Connect(function(player)
Schema:FindAndReleaseModelAsync(player)
end)
average load time = ~6.8s ~5.5-7.2s (i forgot i had task.wait while debugging)
oh wait i think suphi’s module already does this?
- the hell is this
- ok cool
- useless!!!
- erm what the sigma
- profileservice on top
- suphi’s module on top
0 voters