.. _caching:
Caching Queries
===============
In some cases it is sensible to cache queries to avoid overloading the
IEX servers. ``iexfinance`` supports the caching of queries through
``requests_cache_``.
Tutorial
--------
Install ``requests-cache`` using pip:
.. code:: bash
$ pip install requests-cache
To use a cached session, pass a ``requests_cache.Session`` object to the
top-level function you are using:
.. code-block:: python
import datetime
from iexfinance.stocks import Stock
import requests_cache
expiry = datetime.timedelta(days=3)
session = requests_cache.CachedSession(cache_name='cache',
backend='sqlite',
expire_after=expiry)
f = Stock("AAPL", session=session)
f.get_price()
A `SQLite `__ file named ``cache.sqlite`` will
be created in the working directory, storing the request until the
expiry date.
For more information about ``requests-cache``, see its `Documentation
`__.
Caching mechanism similar to `Pandas Datareader
`__.