MichaCo / CacheManager

CacheManager is an open source caching abstraction layer for .NET written in C#. It supports various cache providers and implements many advanced features.
http://cachemanager.michaco.net
Apache License 2.0
2.35k stars 456 forks source link

Couchbase on Xamarin Forms #211

Closed filoe closed 6 years ago

filoe commented 6 years ago

I'm already using this library in aspnetcore projects. Now I would like to use it in a xamarin forms project too. I've got a few questions:

The app has to store data offline. Instead of setting up a sqlite database with EF, I thought about using the CacheManager. So first of all I need, is a persitant cache. The only real option seems to be using Couchbase. Is that right? Are there any better options? When using Couchbase, do I have to setup a Couchbase instance myself or is CacheManager doing that for me? If I have to setup a Couchbase instance myself, are there any samples. Or in general is there any Couchbase sample?

Regarting expiration: As long as the device is offline, the data should stay in the store. As soon as the device is connected and the data is expired, I would like to update the data in the cache. What is the best option for handling those scenarios?

Thanks!

Regards

MichaCo commented 6 years ago

So first of all I need, is a persitant cache. The only real option seems to be using Couchbase. Is that right? Are there any better options?

To be honest, I have very little experience with mobile development to give you a good answer on this. I know that there is Couchbase lite, which can run on devices. I never used it, so I cannot give you any good advice if that's better than other solutions... Also, I have never tried to use Couchbase lite with CacheManager. Does it even work against the .NET client library?

In general, you seem to have a relatively simple sync scenario, where you want to invalidate outdated data on the device whenever the device connects to your server. That's something CacheManager cannot do for you, and you'd have to build that yourself; or, find some tools which does that more automated. From what I read, Couchbase lite is meant for sync