EldoS | Feel safer!

Software components for data protection, secure storage and transfer

Best approach to add an additional cache layer to CBFS?

Also by EldoS: Rethync
The cross-platform framework that simplifies synchronizing data between mobile and desktop applications and servers and cloud storages
#29699
Posted: 06/05/2014 11:34:34
by vinko vrsalovic (Basic support level)
Joined: 06/05/2014
Posts: 1

I'm wondering what would the best way be to modify the existing caching layer or add a new one to CBFS, given that file and enumeration contexts are released after use.

My use case is as follows: I'm reading files from a remote system that can have hundreds of thousands of files, and if I show a file that doesn't exist or don't show a file that exists is not really important and can handle it on the appropriate callbacks.

I'd like to read the information from this system and store it somehow in a place accessible from all callbacks, and update it as needed.

What would the best approach be?

I could just add a cache object to the class where all my callbacks are (I'm using .NET, FWIW), and query it as needed, but I'm not sure about problems that could occur, like accessing the same cache object from different processes or the like.
#29700
Posted: 06/05/2014 11:47:17
by Eugene Mayevski (EldoS Corp.)

How you store cache information is up to you. If the cache is large and you need it quickly on startup, you can store the cache in local files (eg using SolFS container) which are read on the next start.

As for access concurrency - all events are fired in context of your process (though in most cases from different threads) so there will be no multiprocess access, and you can implement locking of objects within one process quite easily.


Sincerely yours
Eugene Mayevski

Reply

Statistics

Topic viewed 1101 times

Number of guests: 1, registered members: 0, in total hidden: 0




|

Back to top

As of July 15, 2016 EldoS Corporation will operate as a division of /n software inc. For more information, please read the announcement.

Got it!