These caches are not thread safe and this is done on purpose because of the following:
If not needed then no additional overhead.
Allows caller/locker/user to choose the locking strategy that best suits them. eg. can lock and do two gets and a set before unlocking.
License
Licensed under either of Apache License, Version
2.0 or MIT license at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted
for inclusion in this package by you, as defined in the Apache-2.0 license, shall be
dual licensed as above, without any additional terms or conditions.