Рельсы Результаты поиска со случайным географическим городом
У меня есть приложение с поиском, который получает пользователей. Когда current_user выполняет поиск, он извлекает случайных пользователей из базы данных. Затем он извлекает местоположения в пределах X миль от местоположения current_user из базы данных и сохраняет их в @locations. Когда отображаются результаты, местоположение пользователя является случайным из @locations (@location.sample.city).
Мой вопрос: что было бы лучшим способом для кеширования результатов. Например, если поиск вернул местоположение пользователя User2 в Nantucket, то при повторном поиске или обновлении страницы у пользователя User2 по-прежнему будет Nantucket, а не другое случайное местоположение.
Заранее спасибо.
1 ответ
Вы можете использовать user_id в качестве ключа кеша, а затем сохранить в нем случайное местоположение, чтобы при обновлении страницы вы просто возвращали местоположение, сохраненное в кеше, и, если нет, будет назначено новое местоположение. например:
Rails.cache.fetch('location_#{userid}') { @locations.sample.city }