My workshop is quite compact so space is at a premium and wall space even more so. Materials are therefore slotted into all available space and often needs to be moved out into the open to allow access. I tend to cut material down to 1.5m lengths and any longer pieces get banished to the garage .
I try to divide material in lengths up to 1.5m,up to 600mm and under 200mm and each size is subdivided ferrous, stainless, brass, alloy and plastic. Separate bins for cast iron. 1.5 m lengths are mainly stored upright due to lack of accessible wall space for racking. shorter lengths are stored on shelves in square 'plastic rainwater pipe' tubes or trays facing forwards and stacked no more than two high.
Small diameter thin wall tubing and, silver steel and solder is stored in trays subdivided using rectangular electrical conduit.cantilever toolbox mounted on castors are used at floor level under the workbench with shelving above.
Sheet is stored 'on end' with plywood dividers between material type for larger sheets and a series of plastic 'drawer trays' (like those used for craft materials in schools) for smaller offcuts.
Heavier trays ( such as those with stubs of larger diameter bar stock) are on plywood bases with low profile castors allowing them to be stored at floor level under the lathe and between machines. This way they can be quickly and easily drawn out to find the right piece of stock.
My least convenient storage consists of stacks of industrial grade boxes which are too cumbersome and heavy to access swiftly so rarely get used. The larger ones are fish boxes found washed up on the beach and contain car spares such as carburettors and brake calipers, smaller ones are for odd heavy castings, flanges, brackets and the like that 'may come in useful one day'. These live in a separate shed but are not protected from condensation!