diff --git a/documentation/en/user/source/configuration/storage.rst b/documentation/en/user/source/configuration/storage.rst
index 9a5df27af7..1143e38480 100644
--- a/documentation/en/user/source/configuration/storage.rst
+++ b/documentation/en/user/source/configuration/storage.rst
@@ -255,9 +255,6 @@ a thorough assessment of costs associated to seeding and serving caches**. Yet w
the bigger the size difference between two identical caches on S3 vs a regular file system. The S3 cache takes less space because the actual space used for each
tile is not padded to a file system block size. For example, the ``topp:states`` layer seeded up to zoom level 10 for EPSG:4326 with png8 format takes roughly
240MB on an Ext4 file system, and about 21MB on S3.
-* Use in-memory caching. When serving S3 tiles from GeoWebcache, you can greately reduce the number of GET requests to S3 by configuring an in-memory cache as
- described in the "In-Memory caching" section bellow. This will allow for frequently requested tiles to be kept in memory instead of retrieved from S3 on each
- call.
The following is an example OpenLayers 3 HTML/JavaScript to set up a map that fetches tiles from a pre-seeded geowebcache layer directly from S3. We're using the typical
GeoServer ``topp:states`` sample layer on a fictitious ``my-geowebcache-bucket`` bucket, using ``test-cache`` as the cache prefix, png8 tile format, and EPSG:4326 CRS.
@@ -636,221 +633,6 @@ The *layer* parameter identifies the layer whose associated blob store content s
This are the only valid combinations of this parameters other combinations will ignore some of the provided parameters or will throw an exception.
-In-Memory caching
------------------
-
-Default **blobstore** can be changed with a new one called **MemoryBlobStore**, which allows in memory tile caching. The **MemoryBlobStore** is a wrapper of a **blobstore**
-implementation, which can be the default one(*FileBlobStore*) or another one. For using the new **blobstore** implementation, the user have to
-modify the **blobstore** bean associated to the **gwcStorageBroker** bean (inside the Application Context file *geowebcache-core-context.xml*) by setting *gwcMemoryBlobStore*
-instead of *gwcBlobStore*.
-
-The configuration of a MemoryBlobStore requires a *blobstore* to wrap and a **CacheProvider** object. This one provides the caching mechanism for saving input data in memory.
-User can define different caching objects but can only inject one of them inside the **MemoryBlobStore**. More information about the **CacheProvider** can be found in the next section.
-
-An example of MemoryBlobStore configuration can be found beow:
-
-.. code-block:: xml
-
-
-
-
-
-
-
-
-
-.. note:: Note that *cacheProviderName*/*cacheProvider* cannote be used together, if a *cacheProvider* is defined, the *cacheProviderName* is not considered. If *cacheProviderName*/*cacheProvider* are not defined, the **MemoryBlobStore** will internally search for a suitable **CacheProvider**.
-
-CacheProvider configuration
-+++++++++++++++++++++++++++
-
-A **CacheProvider** object should be configured with an input object called **CacheConfiguration**. **CacheConfiguration** parameters are:
-
- * *hardMemoryLimit* : which is the cache size in Mb
- * *policy* : which can be LRU, LFU, EXPIRE_AFTER_WRITE, EXPIRE_AFTER_ACCESS, NULL
- * *evitionTime* : which is the cache eviction time in seconds
- * *concurrencyLevel* : which is the cache concurrency level
-
-These parameters must be defined as properties in the **cacheConfiguration** bean in the Spring Application Context (like *geowebcache-core-context.xml*).
-
-At the time of writing there are two implementations of the **CacheProvider** interface:
-
- * **GuavaCacheProvider**
- * **HazelcastCacheProvider**
-
-GuavaCacheProvider
-``````````````````````
-**GuavaCacheProvider** provides local in-memory caching by using a `Guava `_ *Cache* for storing the various GWC Tiles locally on the machine. For configuring a **GuavaCacheProvider**
-the user must create a new bean in the Application Context file (like *geowebcache-core-context.xml*) and then add a reference to a **CacheConfiguration** instance.
-
-Here is an example of configuration:
-
-.. code-block:: xml
-
-
-
-
-
-
-
-
-
-
-
-
-
-HazelcastCacheProvider
-``````````````````````
-**HazelcastCacheProvider** is useful for implementing distributed in memory caching for clustering. It internally uses `Hazelcast `_ for handling distributed caching.
-The **HazelcastCacheProvider** configuration requires another object called **HazelcastLoader**. This object accepts an Hazelcast instance or loads a file called *hazelcast.xml* from a proper directory defined
-by the property "hazelcast.config.dir". If none of them is present, the CacheProvider object cannot be used.
-
-The user must follow these rules for configuring the Hazelcast instance:
-
- #. The Hazelcast configuration requires a Map object with name *CacheProviderMap*
- #. Map eviction policy must be *LRU* or *LFU*
- #. Map configuration must have a fixed size defined in Mb
- #. Map configuration must have **USED_HEAP_SIZE** as *MaxSizePolicy*
-
-Here the user can find both examples:
-
- * From *hazelcast.xml*:
-
- .. code-block:: xml
-
-
-
- cacheCluster
- geoserverCache
-
-
-
-
- 5701
-
-
- 224.2.2.3
- 54327
-
-
- 192.168.1.32
- 192.168.1.110
-
-
-
-
-
-
-
- And the related application context will be:
-
- .. code-block:: xml
-
-
-
-
-
-
-
-
- .. note:: Remember that in this case the user must define the *hazelcast.config.dir* property when starting the application.
-
- * From application context (See Hazelcast documentation for more info):
-
- .. code-block:: xml
-
-
-
-
-
-
-
-
- 10.10.1.2, 10.10.1.3
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Optional configuration parameters
-``````````````````````````````````
-In this section are described other available configuration parameters to configure:
-
-* Cache expiration time:
-
- .. code-block:: xml
-
-
-
- Where *time-to-live-seconds* indicates how many seconds an entry can stay in cache and *max-idle-seconds* indicates how many seconds an entry may be not accessed before being evicted.
-
-* Near Cache.
-
- .. code-block:: xml
-
-
-
- Near Cache is a local cache for each cluster instance which is used for caching entries in the other cluster instances. This behaviour avoids to request those entries each time by executing a remote call. This feature could be helpful in order to improve Hazelcast Cache performances.
-
- .. note:: A value of *max-size* bigger or equal to Integer.MAX_VALUE cannot be used in order to avoid an uncontrollable growth of the cache size.
-
OpenStack Swift (Swift) Blob Store
+++++++++++++++++++++++++++++++++++++++++++++
diff --git a/documentation/en/user/source/rest/index.rst b/documentation/en/user/source/rest/index.rst
index 09d925217d..778032c80e 100644
--- a/documentation/en/user/source/rest/index.rst
+++ b/documentation/en/user/source/rest/index.rst
@@ -15,7 +15,6 @@ This section will discuss the GeoWebCache REST API.
seed.rst
diskquota.rst
masstruncate.rst
- statistics.rst
diff --git a/documentation/en/user/source/rest/statistics.rst b/documentation/en/user/source/rest/statistics.rst
deleted file mode 100644
index 24e9d20599..0000000000
--- a/documentation/en/user/source/rest/statistics.rst
+++ /dev/null
@@ -1,72 +0,0 @@
-.. _rest.statistics:
-
-In Memory Cache Statistics
-==========================
-
-The REST API allows you to get the in memory cache statistics if the **blobstore** used is an instance of **MemoryBlobStore**.
-
-Operations
-----------
-
-``/statistics``
-
-.. list-table::
- :header-rows: 1
-
- * - Method
- - Action
- - Return Code
- - Formats
- * - GET
- - Return a representation of the statistics
- - 200
- - XML, JSON
- * - POST
- -
- - 405
- -
- * - PUT
- -
- - 405
- -
- * - DELETE
- -
- - 405
- -
-
-Available Requests
-+++++++++++++++++++
-
-Request in XML:
-
-.. code-block:: xml
-
- curl -v -u geowebcache:secured -XGET "http://localhost:8080/geowebcache/rest/statistics.xml"
-
-Sample response:
-
-.. code-block:: xml
-
-
- 0
- 0
- 0
- 0
- 100.0
- 0.0
- 0.0
- 67108864
- 0
-
-
-Request in JSON:
-
-.. code-block:: xml
-
- curl -v -u geowebcache:secured -XGET "http://localhost:8080/geowebcache/rest/statistics.json"
-
-Sample response:
-
-.. code-block:: xml
-
- {"gwcInMemoryCacheStatistics":{"missRate":0,"totalCount":0,"missCount":0,"hitCount":0,"actualSize":0,"evictionCount":0,"hitRate":100,"totalSize":67108864,"currentMemoryOccupation":0}}
\ No newline at end of file
diff --git a/documentation/en/user/source/webinterface/status.rst b/documentation/en/user/source/webinterface/status.rst
index becbce5410..3bfdcb9765 100644
--- a/documentation/en/user/source/webinterface/status.rst
+++ b/documentation/en/user/source/webinterface/status.rst
@@ -30,8 +30,3 @@ Runtime statistics
The Status page displays basic runtime statistics including: uptime; how many requests have been made; total and peak throughput and statitics over intervals of 3, 15, and 60 seconds.
-In Memory Cache statistics
---------------------------
-
-If the **blobstore** object used is an instance of **MemoryBlobStore**, the user can find a new section called *In Memory Cache statistics*, containing the statistics of the cache used
-by the **blobstore**. Note that these statistics are related to the local entries, even in case of distributed in-memory caching.
diff --git a/geowebcache/core/src/main/java/org/geowebcache/GeoWebCacheDispatcher.java b/geowebcache/core/src/main/java/org/geowebcache/GeoWebCacheDispatcher.java
index 4e765fc49e..144b353949 100644
--- a/geowebcache/core/src/main/java/org/geowebcache/GeoWebCacheDispatcher.java
+++ b/geowebcache/core/src/main/java/org/geowebcache/GeoWebCacheDispatcher.java
@@ -61,8 +61,6 @@
import org.geowebcache.storage.DefaultStorageBroker;
import org.geowebcache.storage.DefaultStorageFinder;
import org.geowebcache.storage.StorageBroker;
-import org.geowebcache.storage.blobstore.memory.CacheStatistics;
-import org.geowebcache.storage.blobstore.memory.MemoryBlobStore;
import org.geowebcache.util.ResponseUtils;
import org.geowebcache.util.ServletUtils;
import org.springframework.http.MediaType;
@@ -499,9 +497,6 @@ private void handleFrontPage(HttpServletRequest request, HttpServletResponse res
if (!Boolean.parseBoolean(GeoWebCacheExtensions.getProperty("GEOWEBCACHE_HIDE_STORAGE_LOCATIONS"))) {
appendStorageLocations(str);
}
- if (storageBroker != null) {
- appendInternalCacheStats(str);
- }
}
str.append("