# Virtual hash table

**URL:** <https://racket.discourse.group/t/virtual-hash-table/2907>\
**Category:** Questions & Answers\
**Tags:** question\
**Created:** [May 6, 2024, 5:17pm UTC](https://racket.discourse.group/t/virtual-hash-table/2907 "2024-05-06T17:17:34Z")\
**Posts on this page:** 1\
**Showing post:** 15

<div class="post-metadata">

**Author:** ![LiberalArtist](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/liberalartist/32/151_2.png) [@LiberalArtist](https://racket.discourse.group/u/LiberalArtist)\
**Post date:** [May 11, 2024, 12:05am UTC](https://racket.discourse.group/t/virtual-hash-table/2907/15 "2024-05-11T00:05:18Z")

</div>

> [@joskoot](#):
>
> Thanks, I have seen (many years ago) a system using a directory as a hash to store data as separate files within that directory. It’s an option.

The [`default-stuffer`](https://docs.racket-lang.org/web-server/stateless.html#%28part._.Helpers%29) from the Racket web server uses this approach to store serialized continuations that are too large to put in URLs directly: it saves them in files under `~/.urls/`, where the name of the file is the MD5 hash of the content.

The underlying functions are provided for use in non-default "stuffers". The [`web-server/stuffers/store`](https://docs.racket-lang.org/web-server/stateless.html#%28mod-path._web-server%2Fstuffers%2Fstore%29) module ([source](https://github.com/racket/web-server/blob/master/web-server-lib/web-server/stuffers/store.rkt)) provides an interface for key–value stores and an implementation for directory-backed storage. The [`hash-stuffer`](https://docs.racket-lang.org/web-server/stateless.html#%28part._.Hash-addressed_.Storage%29) function ([source](https://github.com/racket/web-server/blob/master/web-server-lib/web-server/stuffers/hash.rkt)) then implements hash-addressed storage on top of it.

---

_[View the full topic](https://racket.discourse.group/t/virtual-hash-table/2907)._
