# RiteMLCR: MLCR from TFS
> MLCR: Machine-Learning-based Cache Replacement
>
> MLCR trains a neural network to "guess" how long time will pass before the cache block is
> accessed again. In other words, it provides a qualified guess to approximate the ideal Bélády's
> algorithm without a time machine.
>
> MLCR is slow, because it needs to train a neural network, but in many cases, the added
> precision pays off by greatly reducing the number of cache misses. As such, it should only be
> used when the cached medium is significantly slower than training the network (e.g. hard disks or
> internet downloads).
## Usage
```rust
let mut cache = ritemlcr::Cache::new();
cache.insert(1);
cache.insert(2);
cache.insert(3);
cache.insert(4);
cache.insert(100);
cache.insert(200);
cache.touch(100);
cache.touch(100);
cache.touch(1);
cache.touch(2);
cache.touch(2);
cache.touch(2);
```
## Credit
It is a fork of the crate [mlcr](https://crates.io/crates/mlcr/) , but some adjustments and improvements have been made to the code .
## License
This library is licensed under either of:
* MIT license [LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT
* Apache License 2.0 [LICENSE-APACHE](LICENSE-APACHE) or https://opensource.org/licenses/Apache-2.0
at your option.