2016-09-15 7 views
0

В моем новом приложении rails, которое является потребителем/клиентом API. Я использую httParty для запроса. Я использую код, предложенный в этом сообщении http://www.binpress.com/tutorial/ruby-tutorial-building-a-robust-json-api-client/140Redis: Правильное кэширование ответов API в httparty-клиенте, срок действия кэша в отношении заголовков кеша в ответе api

def handle_caching(options) 
    if cached = $redis.get(cache_key(options)) 
     eval(cached) 
    else 
     yield.tap do |results| 
     $redis.set(cache_key(options), results) 
     end 
    end 
    end 

Но он кэширует страницы постоянно и страница не истекла, когда есть изменение содержания в апи. Как правильно закончить кеш в отношении заголовков кеша в ответе API.

ответ

0

Истечение срока действия redis можно получить, установив TTL на ключ I.e. определенное время для жизни. Это будет работать только в том случае, если вы заранее знаете, какой оптимальный TTL для ваших ключей. Срок действия Redis истекает после указанного TTL.

Однако вам придется вручную аннулировать/обновлять кеш при каждом изменении заголовков кеша в ответе API.