After two years of internal use, as a powerful option to cache data sets that change constantly.

 is a Java library and toolset aimed at in-memory caching of data sets up to several gigabytes in size. Netflix says Hollow’s purpose is threefold: It’s intended to be more efficient at storing data; it can provide tools to automatically generate APIs for convenient access to the data; and it can automatically analyze data use patterns to more efficiently synchronize with the back end.

Let’s keep this between us

Most of the scenarios for caching data on a system where it isn’t stored—a “consumer” system rather than a “producer” system—involve using a product like . Hollow is reminiscent of both products since it uses in-memory storage for fast access, but it isn’t an actual data store like Redis.

Unlike many other data caching systems, Hollow is intended to be coupled to a specific data set—a given schema with certain fields, typically a JSON stream. This requires some prep work, although Hollow provides some tools to partly automate the process. The reason for doing so: Hollow can store the data in-memory as fixed-length, strongly typed chunks that aren’t subject to Java’s garbage collection. As a result, they’re faster to access than conventional Java objects.