Skip to content

Conversation

@henhouse
Copy link

@henhouse henhouse commented Jul 3, 2024

This PR contains two additional member functions for the cache client I made for my own purposes. Figured perhaps others may find them useful.

In some cases, you may want the cache client to propagate through the system to your handlers, or other business logic. In some cases such as PUTs, or DELETEs to your system on an object, you may want the option to tell the adapter to drop the cache for the requested endpoint so clients do not get served old data (unless they used an Expires header). The Drop function allows for this by not having to worry about the way in which the key is generated.

Secondly, you may want to apply a client option at a later time, or change it, which isn't currently possible to do. In my use case, I have a middleware for my router which will apply different TTLs for different endpoints, as well as optionally set the Expires header for them. I deference the client pointer, and apply a change to its options for the lifecycle of that request via the AddOptions func.

henhouse added 2 commits July 3, 2024 13:39
- Ability to drop the cache from a request. Useful if the client is propagated through the request's life (e.g. call on a PUT/DELETE, etc.)
- Add options on a client. Perhaps you apply different TTL or settings for a particular request in your own middleware, etc.
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