How to use DataStore2 - Data Store caching and data loss prevention

Whenever I use a datastore, what does the name go under. For instance:

local store = DS2("Money", plr)

what would the data store name and key be?

Edit: If youre wondering it is for crazyman’s datastore edit module. I need it for testing

Not sure whether I am doing something wrong or roblox has still not managed to fix the BindToClose() error but out of nowhere I get these errors which I never had.

According to BindToClose 100% Infinite Yield - #107 by nsgriff

The BindToClose() error should be fixed (and it was fixed for me, I had no errors the whole day). But out of nowhere I get errors about using too many datastore requests… I haven’t changed anything for the past few days concerning DataStore2.

I am pretty sure I use DataStore2 correctly and it worked perfect for me the past few days (aside from the infinite yield BindToClose error)

I will just keep an eye out on this forum and hopefully I can find a solution… (I already tried a fresh version of DataStore2 but the errors stay the same)

Found a thread with more information concerning this problem

This is how you search using the data store editor: How to use DataStore2 - Data Store caching and data loss prevention - #287 by Kampfkarren

DataStore2 won’t show up in my toolbox no matter what I try - should I just use the .rbxmx file?

The model is deprecated, so yes. The release is the only recommended way to download DataStore2.

Ah. I was not aware of this. Thanks!

Not sure what you mean by this?

Is the github release the latest? Just wondering because on github the latest version was released in september so like 5 months ago

2 Likes

I sent a string literal, and got this.

https://gyazo.com/b09d9b7e6c2ad6605ee0d22f8e7236dc


https://gyazo.com/c9ed8bf6050c69e162e3f384eddf90c1

Are you using DataStore2:Combine() instead of DataStore2.Combine()? I believe the first parameter for DataStore2’s __call is the self keyword, which was never used at all there.

1 Like

I just fixed it b4! Thanks tho xD.

1 Like

Yes, the release on GitHub is the most recent.

1 Like

I have a question, when using get if we use

local thingStore = dataStore(“Thing”,player)
thingStore:Get(dontAttemptGet = true)

if thingStore is not in the cache what will it return?

It will return nil.

1 Like

How would I use the dontAttemptGet = true feature?

would it be store:Get( {dontAttemptGet = true})

It would just be store:Get(true), though I feel the need to ask what your use case for this is.

Before the player can interact with the server I have it so once all the players data is loaded it will tell the client to set up their UI’s allowing them to interact with the server.
I have other module scripts that access the cache and the player woudnt be able to interact with them if their data wasnt fully loaded into the cache so i feel there is not need to pass a default value for them. Or would there still be a need to?

You can just prevent the first character spawn until their data loads in. If you call :Get(true) for players when they join, it’ll always return nil because it doesn’t start a cache until you use it once without it.

Oh no sorry I meant that when i do
game.Players.PlayerAdded:Connect
Here i pass the default values

however, lets say in a shop script If i want to check the players balance I would not pass the default value