How are you using the data stored in the JCR? Assuming that the cached data is exposed via JSON, you can try this strategy.
In AEM 6.5, it's suggested that all content should live within the /content folder structure. Knowing this is the case when you are creating a caching strategy with your sling servlet, you can write cached data directly into the /content structure with the servlet validating an expiry date against the target root node. When the criteria are met, then you can re-write and re-publish the /content structure.
When deactivating your servlet, you can write some logic to wipe out the data stored in your designated structured data store:
protected void deactivate() {
cleanup();
}