Перевести NOSQL LMDB для чтения и записи кода в Redis для чтения и записи в Python - PullRequest
0 голосов
/ 24 января 2019

Я использовал Redis вместо LMDB в одном проекте, и скорость оказалась настолько хорошей, что теперь работодатель хочет изменить во всех устаревших проектах.

Изменение каждого из них может занять годы!Поэтому я хотел написать программу, которая может автоматически определять код LMDB и заменять соответствующий код Redis, так как оба являются хранилищем ключей и значений.

Но проблемы заключаются в

  • Какнайти функции у которых вызовы lmdb есть?Поскольку это может быть
    прямой импорт, вложенный импорт или переменная.Должен ли я запустить IO Profiler и искать трассировку стека с помощью lmdb?
  • После идентификации функций Как идентифицировать соответствующий код с учетом различных способов написания кода (циклы, переменные и т. Д.).

Я посмотрел на Tokenizer и Python 2to3, которые могут пригодиться, но только после идентификации.Пример кода для чтения / записи из LMDB и Redis

def get_lmdb_data(self,app_key, dealid):
    env = lmdb.open(table_path)
    with env.begin() as txn:
        data = txn.get(app_key)            
    return data

def get_redis_data(self,app_key, dealid):
    redis_db = self.__get_connection_redis()
        data = redis_db.get(app_key)
    return data
...