есть таблица на 10к записей, поместил ее редис, решил сравнить время запроса, в итоге получилось что запрос в редис 400-500 ms, а напрямую в бд - 80-110 ms.
redis:
const localeCities = await this.redis.get('locale_cities');
const data = localeCities.filter(
(city) => city.name_en.toLowerCase().includes(place.toLowerCase())
);
напрямую:
const data = await this.localeCityRepository
.createQueryBuilder('city')
.where('LOWER(city.name_en) LIKE :place', { place: `%${place.toLowerCase()}%` })
.getMany();
почему так?
---------
upd: как записываю данные в redis
async setLocaleCities() {
const cities = await this.localeCityRepository.find();
const filteredCities = cities.map((city) => ({
name_en: city.name_en,
// другие поля
}));
return await this.redis.set(
'locale_cities',
JSON.stringify(filteredCities),
);
}