       if not validateVersionedObjectKey(versionedObjectKey)
         return Promise.resolve(null)
 
+      cachedObjectSearchPair = Cache.get(Cache.OBJECT_SEARCH_PAIRS, versionedObjectKey.objectId)
+      if cachedObjectSearchPair
+        return Promise.resolve(cachedObjectSearchPair)
+
       Requests.getAsUint8FromUrl(
         getObjectSearchPairUrl(versionedObjectKey.objectId, versionedObjectKey.objectVersion)
       )
+      .then (objectSearchPair) ->
+        if objectSearchPair?
+          Cache.store(Cache.OBJECT_SEARCH_PAIRS, versionedObjectKey.objectId, objectSearchPair)
+        return objectSearchPair
 
     addObjectSearchPair: (versionedObjectKey, objectSearchPair) ->
 


  # utils
  BinaryUtils = require 'kryptnostic.binary-utils'
  Config      = require 'kryptnostic.configuration'
  Logger      = require 'kryptnostic.logger'
  Requests    = require 'kryptnostic.requests'

  'axios'
  'bluebird'
  'kryptnostic.binary-utils'
  'kryptnostic.caching-service'
  'kryptnostic.configuration'
  'kryptnostic.logger'
  'kryptnostic.requests'
