Implementing Custom CacheDependency to invalidate ASP.Net cache item
The following article gives a good overview of implementing a custom CacheDependency object, even defining one that uses a timer to check for data changes which may be handy for your queue based solution presuming you will be peaking a queue periodically. If you are using a pub/sub model then your subscription logic will simply call the NotifyDependencyChanged method.
http://msdn.microsoft.com/en-us/magazine/cc163955.aspx
Best of luck!