Unwrapping complex cylinder to save on texture space

So I have this cylindrical shape

After unwrapping, every vertical face is created as big “circular uv-face” that’s wasting a lot of uv-space. I’m trying to turn them into straight belts but then, the effect is like this

Texture then becomes stretched. I’m aware that it’s due to the differences in lenghts between edges, but even if I straighten the uv-island, and try to manually scale down it’s upper part, it does not fix the problem.

So my question is, if it’s even possible to straighten uv-islands of a cylinder, that are oriented vertically (going inward, idk how to professionally call it). And here’s the view on my actuall uv-map. You can see, why I want these circles to turn into belts.

If you want strips, add seam across and for each ring. Select quad near seam, reset UV, L with seam enabled, and follow active quad.
For rings, add logical seams. L with seam enabled, and UV project from view. Instead of wasting so much space, I’d loose some texel information and store each ring inside eachother.