When calling the apex method without wire service, the refreshApex() will not work for refreshing the cache.
And, as Phil W's reply, there is no built-in method to clear the cache in the case but the cache issue is still able to be solved.
What you need to do is just to remove the (Cacheable=true) annotation from the Apex method in the Apex class and you can process the apex method in the LWC without cache issue. This tip works perfectly for me and it will work for you.
In the doc, it states:
In the following scenarios, you must call an Apex method imperatively as opposed to using @wire.
- To call a method that isn’t annotated with cacheable=true, which
includes any method that inserts, updates, or deletes data.
- To control when the invocation occurs.
- To work with objects that aren’t
supported by User Interface API, like Task and Event.
- To call a
method from an ES6 module that doesn’t extend LightningElement