-
Notifications
You must be signed in to change notification settings - Fork 76
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
Different TTL with GreedyCacheStrategy and RequestMatcher #147
Comments
@vaclavgreif did you figure that out? I need that too :/ |
Hi Marcus, in the end I did something like this: $cache_rules = [
new Rule( Rule::REQUEST_TYPE_GET, 'agreements', 400 ),
];
$cache = new Cache(
new FilesystemAdapter( 'testCache', 0, __DIR__ ),
$cache_rules
);
$careCloud = new MySdk( $config, $cache ); and in the MySDK: if ( $this->cache ) {
$strategy = new DelegatingCacheStrategy( $defaultStrategy = new NullCacheStrategy() );
foreach ( $this->cache->getRules() as $item ) {
$strategy->registerRequestMatcher(
new CacheRequestMatcher( $item ),
new GreedyCacheStrategy(
new Psr6CacheStorage( $this->cache->getCacheItemPool() ),
$item->getTtl() )
);
}
$stack->push( new CacheMiddleware( $strategy ) );
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I'm defining a
DelegatingCacheStrategy
, and I'm using a simple config to define which endpoint should be cached:and the matcher method looks like this:
This works great, but I'd need to be able to define different TTLs for different endpoints. Is there a way to set that somehow?
The text was updated successfully, but these errors were encountered: