Add Hook for clearing transient when post is added

Add the below code in your active theme’s functions.php file.

function wpse_delete_query_transient( $post ) {
// Deletes the transient when a new post is published
delete_transient( 'd_results' );
}
add_action( 'new_to_publish', 'wpse_delete_query_transient' );

This will delete the transient every time when a new post is published.

If you want to delete the transients on differrent post status transitions, you may refer codex