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.
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.