diff --git a/provider/indexer-ibm/src/main/java/org/opengroup/osdu/indexer/ibm/cache/IndexCacheImpl.java b/provider/indexer-ibm/src/main/java/org/opengroup/osdu/indexer/ibm/cache/IndexCacheImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..54bf3f42a8a56372dc8a3436a74a934621dacd08
--- /dev/null
+++ b/provider/indexer-ibm/src/main/java/org/opengroup/osdu/indexer/ibm/cache/IndexCacheImpl.java
@@ -0,0 +1,39 @@
+/* Licensed Materials - Property of IBM              */		
+/* (c) Copyright IBM Corp. 2020. All Rights Reserved.*/
+package org.opengroup.osdu.indexer.ibm.cache;
+
+import org.opengroup.osdu.core.common.cache.VmCache;
+import org.opengroup.osdu.core.common.provider.interfaces.IIndexCache;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Component;
+
+@Component
+public class IndexCacheImpl implements IIndexCache<String, Boolean> {
+    private VmCache<String, Boolean> cache;
+
+    public IndexCacheImpl(@Value("${INDEX_CACHE_EXPIRATION}") final String INDEX_CACHE_EXPIRATION,
+                      @Value("${MAX_CACHE_VALUE_SIZE}") final String MAX_CACHE_VALUE_SIZE) {
+        cache = new VmCache<>(Integer.parseInt(INDEX_CACHE_EXPIRATION) * 60,
+                Integer.parseInt(MAX_CACHE_VALUE_SIZE));
+    }
+
+    @Override
+    public void put(String s, Boolean o) {
+        this.cache.put(s, o);
+    }
+
+    @Override
+    public Boolean get(String s) {
+        return this.cache.get(s);
+    }
+
+    @Override
+    public void delete(String s) {
+        this.cache.delete(s);
+    }
+
+    @Override
+    public void clearAll() {
+        this.cache.clearAll();
+    }
+}
diff --git a/provider/indexer-ibm/src/main/java/org/opengroup/osdu/indexer/ibm/cache/SchemaCacheImpl.java b/provider/indexer-ibm/src/main/java/org/opengroup/osdu/indexer/ibm/cache/SchemaCacheImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..1795e51fa8a9fd39e8bc38e1f5931930f8fbe4b7
--- /dev/null
+++ b/provider/indexer-ibm/src/main/java/org/opengroup/osdu/indexer/ibm/cache/SchemaCacheImpl.java
@@ -0,0 +1,40 @@
+/* Licensed Materials - Property of IBM              */		
+/* (c) Copyright IBM Corp. 2020. All Rights Reserved.*/
+
+package org.opengroup.osdu.indexer.ibm.cache;
+
+import org.opengroup.osdu.core.common.cache.VmCache;
+import org.opengroup.osdu.indexer.provider.interfaces.ISchemaCache;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Component;
+
+@Component
+public class SchemaCacheImpl implements ISchemaCache<String, String> {
+    private VmCache<String, String> cache;
+
+    public SchemaCacheImpl(@Value("${SCHEMA_CACHE_EXPIRATION}") final String SCHEMA_CACHE_EXPIRATION,
+                       @Value("${MAX_CACHE_VALUE_SIZE}") final String MAX_CACHE_VALUE_SIZE) {
+        cache = new VmCache<>(Integer.parseInt(SCHEMA_CACHE_EXPIRATION) * 60,
+                Integer.parseInt(MAX_CACHE_VALUE_SIZE));
+    }
+
+    @Override
+    public void put(String s, String o) {
+        this.cache.put(s, o);
+    }
+
+    @Override
+    public String get(String s) {
+        return this.cache.get(s);
+    }
+
+    @Override
+    public void delete(String s) {
+        this.cache.delete(s);
+    }
+
+    @Override
+    public void clearAll() {
+        this.cache.clearAll();
+    }
+}
\ No newline at end of file