code: def get(self, rid, data_callback=None, raise_on_error=True):
          
          cached_data = None
          ds_data = self.ds.get(rid, raise_on_error=False)
          if ds_data is not None:
              expired = True
              if ds_data.get('found') is True:
                  if self.ttl < int(ds_data.get('_source', {}).get('cache-date', 0)):
                      cached_data = ds_data.get('_source', {}).get('cache-data')
                      expired = False
                      self.tcex.log.debug('Using cached data for ({}).'.format(rid))
                  else:
                      self.tcex.log.debug('Cached data is expired for ({}).'.format(rid))
  
              if expired or ds_data.get('found') is False:
                  # when cache is expired or does not exist use callback to get data if possible
                  if callable(data_callback):
                      cached_data = data_callback(rid)
                      self.tcex.log.debug('Using callback data for ({}).'.format(rid))
                      if cached_data:
                          self.update(rid, cached_data, raise_on_error)  # update the cache data
          return cached_data
docs: Get cached data from the data store.
  
          Args:
              rid (str): The record identifier.
              data_callback (callable): A method that will return the data.
              raise_on_error (bool): If True and not r.ok this method will raise a RunTimeError.
  
          Returns:
              object : Python request response.