def find(key):
     """ Query that finds Lists by their key """
     key = List.generate_key(key)
     if redis_store.exists(key):
         data = pickle.loads(redis_store.get(key))
         list = List(key=data['key'], value=data['value']).deserialize(data)
         return list
     return None
 def find(key):
     """ Query that finds Strings by their key """
     key = String.generate_key(key)
     if redis_store.exists(key):
         data = pickle.loads(redis_store.get(key))
         string = String(key=data['key'],
                         value=data['value']).deserialize(data)
         return string
     return None
 def all():
     """ Query that returns all strings """
     # results = [String.from_dict(redis.hgetall(key)) for key in redis.keys() if key != 'index']
     results = []
     for key in redis_store.keys(String.generate_key('*')):
         data = pickle.loads(redis_store.get(key))
         string = String(data['key']).deserialize(data)
         results.append(string)
     return results
    def search(search_term):
        strings = []
        for key in redis_store.keys(String.generate_key('*')):
            data = pickle.loads(redis_store.get(key))
            string = String(data['key']).deserialize(data)
            strings.append(string)

        results = []
        for string in strings:
            if string.get('key', None).find(search_term) != -1:
                results.append(string)
        return results