Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New version / Nuget packages #372

Open
matthias-jauernig opened this issue Nov 2, 2022 · 8 comments
Open

New version / Nuget packages #372

matthias-jauernig opened this issue Nov 2, 2022 · 8 comments

Comments

@matthias-jauernig
Copy link

matthias-jauernig commented Nov 2, 2022

Any chance to get a new CacheManager version from the current changes in the "dev" branch? Especially the concurrency fix with f2d6e11 addresses a current production issue on our side.

@anthonymbower
Copy link

We too are experiencing the concurrency issues and would very much appreciate a new version.

@mertkokusen
Copy link

@matthias-jauernig are you still using this library on prod? We are considering forking the repo to build dlls from dev branch, just wondering if it's stable?

@matthias-jauernig
Copy link
Author

We are using "the library" in prod, but only the main branch. We got around the concurrency issue by wrapping the calls by ourselves.

@mertkokusen
Copy link

I see, thanks. Did you create locks per item key or wrapped the call site with a single lock object?

@matthias-jauernig
Copy link
Author

matthias-jauernig commented Mar 29, 2023

In our case, we are locking by cache item type and cache region (if exists).

public static void AddLocked<T>(this ICacheManager<T> cacheManager, CacheItem<T> cacheItem)
{
    string lockKeyForAdd = typeof(T).FullName + (!string.IsNullOrEmpty(cacheItem.Region) ? ('-' + cacheItem.Region) : string.Empty);
    try
    {
        _lockProvider.Wait(lockKeyForAdd);
        cacheManager.Add(cacheItem);
    }
    finally
    {
        _lockProvider.Release(lockKeyForAdd);
    }
}

... where LockProvider is adapted from https://github.com/Darkseal/LockProvider/

@mertkokusen
Copy link

Thanks a lot. We implemented something similar by managing multiple semaphoreslim objects but LockProvider seems to be cleaner.

@bbqchickenrobot
Copy link

Is this library still supported - from this conversation it sounds like there are some issues with no updates, etc....

@Mek7
Copy link

Mek7 commented Apr 22, 2024

Unfortunately it looks like this project is dead :(
I found a discussion also here

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants