Skip to content

Conversation

@paddlesteamer
Copy link

This PR is fixed version of #96. Main changes are:

  • Type of cache.items are converted from map[string]Item to map[string]*Item. I needed to do it because, in GetWithExpirationUpdate, it is the only way to modify the Expiration field of an Item. The other way around (re-setting the item) needs a write lock, therefore blocks all reads/writes to items. Not convenient for 'cache-get's.
  • Now every Item has its own RWLock. This way, we don't need a write lock in GetWithExpirationUpdate.

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

Successfully merging this pull request may close these issues.

1 participant