Nginx evaluates location matches by specificity, not file order: exact = first, then ^~ prefixes, then regexes in the order written, then the longest plain prefix.
/etc/nginx/redirects.map
A map is a hash table: lookup cost is constant no matter how many redirects you have. Past roughly 50 rules this is the only sane approach.