migrated from sqlite to redis and using caching