Questions about the calculation of B-class requests for Cloudflare r2

If I use r2 custom domain and also enable caching, can I effectively reduce the number of B-class requests for R2? Or, regardless of whether the caching function is enabled or not, as long as the r2 custom domain is accessed, the number of requests will be counted

Yes. Any Requests that hit cache do not cost you a Class B. You can create a Page Rule/Cache Rule to force caching with extended ttl.

Side note: Tiered Caching doesn’t work with R2 Custom Domains (it just won’t do anything), so you’ve only got local colo/datacenter cache.