Показаны сообщения с ярлыком cache. Показать все сообщения
Показаны сообщения с ярлыком cache. Показать все сообщения

четверг, 22 декабря 2016 г.

Используем кэш для pip, npm, bower

Когда может понадобиться кэш? Например, когда часто пересобираем разные окружения или когда машины накатываются в докере итд. И каждый раз оно будет заново тянуть исходники, особенно актуально для различных докеров, а также сборкой rpmbuild с "чистым" BUILD(ROOT).

pip

cat >> ~/.pip/pip.conf << EOF
[global]
download_cache = ~/.cache/pip
EOF
mkdir -p ~/.cache/pip

Для более старых версий есть опция --download-cache <dir>, которую надо указать дополнительно -  в новых она активна по умолчанию. Отключать через --no-cache-dir

Также есть вариант через промежуточный wheel
pip wheel --wheel-dir=/tmp/wheelhouse cssselect==0.9.1
pip install /tmp/wheelhouse/cssselect-0.9.1-py2-none-any.whl

И попадались упоминания переменной PIP_DOWNLOAD_CACHE

npm

npm config set cache ~/.cache/npm
mkdir -p ~/.cache/npm
mv ~/.npm/* ~/.cache/npm/
rm -rf ~/.npm/


bower
cat >> ~/.bowerrc << EOF
{
  "cache": "$HOME/.cache/bower/"
}
EOF
mkdir -p ~/.cache/bower

links
https://pip.pypa.io/en/latest/reference/pip_install/#caching
https://blog.samat.org/2014/12/01/setting-up-package-caching-for-pip-and-npm/

воскресенье, 8 июня 2014 г.

nginx proxy_cache

syntax: proxy_cache [зона|off]
default: off
context: http, server, location

Директива задаёт зону для кэширования. Одна и та же зона может использоваться в нескольких местах. Параметр "off" запрещает кэширование, унаследованное с предыдущего уровня конфигурации.

proxy_cache_key
Ключ, по которому считается адрес кэшированной страницы

proxy_cache_path
где лежит кэш страниц

proxy_ignore_headers
Какие заголовки игнорировать, например Expires Cache-Control Set-Cookie

proxy_cache_use_stale
Когда доставать данные из кэша, например таймаут, 502 итд

Могут пригодиться proxy_hide_header, proxy_cache_bypass, proxy_no_cache

Но кэширование это только половина проблемы, кэши ещё надо чистить. В частности, есть proxy_cache_purge
Прозрачное кэширование в nginx для всех и каждого
Кеширующий прокси-сервер на nginx. Хитрая конфигурация
nginx + apache. Кеширование

Весьма полезная дока об особенностях

вторник, 13 марта 2012 г.

Подводные камни при использовании кэширования в nginx

Подводные камни при использовании кэширования в nginx
http://alexandr.sysoev.ru/node/147

Интересная статья, где описаны некоторые нюансы кэширования nginx

вторник, 1 ноября 2011 г.

ssd cache

SSD можно использовать как кэш для классических HDD без дорогих аппаратных контроллеров. Программные решения:
— модуль ядра Flashcache от Facebook
— ZFS L2Arc

https://github.com/facebook/flashcache/