mirror of
https://github.com/verdaccio/verdaccio.git
synced 2025-03-04 02:02:39 -05:00
* docs(website): new translation for logo.md in Korean * docs(website): new translation for logo.md in Polish * docs(website): new translation for logo.md in Portuguese * docs(website): new translation for logo.md in Russian * docs(website): new translation for logo.md in Serbian (Cyrillic) * docs(website): new translation for logo.md in Chinese Simplified * docs(website): new translation for logo.md in Chinese Traditional * docs(website): new translation for logo.md in Vietnamese * docs(website): new translation for logo.md in Galician * docs(website): new translation for logo.md in Portuguese, Brazilian * docs(website): new translation for logo.md in Hindi * docs(website): new translation for logger.md in Hindi * docs(website): new translation for logger.md in Galician * docs(website): new translation for linking.md in Chinese Simplified * docs(website): new translation for logger.md in Spanish * docs(website): new translation for linking.md in Chinese Traditional * docs(website): new translation for linking.md in Vietnamese * docs(website): new translation for linking.md in Galician * docs(website): new translation for amazon.md in French * docs(website): new translation for linking.md in Hindi * docs(website): new translation for linking.md in Filipino * docs(website): new translation for linking.md in Serbian (Latin) * docs(website): new translation for linking.md in Tajik * docs(website): new translation for linking.md in Yoruba * docs(website): new translation for logger.md in Romanian * docs(website): new translation for logger.md in French * docs(website): new translation for logger.md in Arabic * docs(website): new translation for logger.md in Vietnamese * docs(website): new translation for logger.md in Czech * docs(website): new translation for logger.md in German * docs(website): new translation for logger.md in Italian * docs(website): new translation for logger.md in Japanese * docs(website): new translation for logger.md in Korean * docs(website): new translation for logger.md in Polish * docs(website): new translation for logger.md in Portuguese * docs(website): new translation for logger.md in Russian * docs(website): new translation for logger.md in Serbian (Cyrillic) * docs(website): new translation for logger.md in Chinese Simplified * docs(website): new translation for logger.md in Chinese Traditional * docs(website): new translation for install.md in Arabic * docs(website): new translation for reverse-proxy.md in German * docs(website): new translation for repositories.md in Hindi * docs(website): new translation for repositories.md in Filipino * docs(website): new translation for repositories.md in Serbian (Latin) * docs(website): new translation for repositories.md in Tajik * docs(website): new translation for repositories.md in Yoruba * docs(website): new translation for reverse-proxy.md in Romanian * docs(website): new translation for reverse-proxy.md in French * docs(website): new translation for reverse-proxy.md in Spanish * docs(website): new translation for reverse-proxy.md in Arabic * docs(website): new translation for reverse-proxy.md in Czech * docs(website): new translation for reverse-proxy.md in Italian * docs(website): new translation for repositories.md in Galician * docs(website): new translation for reverse-proxy.md in Japanese * docs(website): new translation for reverse-proxy.md in Korean * docs(website): new translation for reverse-proxy.md in Polish * docs(website): new translation for reverse-proxy.md in Portuguese * docs(website): new translation for reverse-proxy.md in Russian * docs(website): new translation for reverse-proxy.md in Serbian (Cyrillic) * docs(website): new translation for reverse-proxy.md in Chinese Simplified * docs(website): new translation for reverse-proxy.md in Chinese Traditional * docs(website): new translation for reverse-proxy.md in Vietnamese * docs(website): new translation for reverse-proxy.md in Galician * docs(website): new translation for reverse-proxy.md in Portuguese, Brazilian * docs(website): new translation for repositories.md in Portuguese, Brazilian * docs(website): new translation for repositories.md in Vietnamese * docs(website): new translation for reverse-proxy.md in Filipino * docs(website): new translation for repositories.md in French * docs(website): new translation for puppet.md in Chinese Simplified * docs(website): new translation for puppet.md in Chinese Traditional * docs(website): new translation for puppet.md in Vietnamese * docs(website): new translation for puppet.md in Galician * docs(website): new translation for puppet.md in Portuguese, Brazilian * docs(website): new translation for puppet.md in Hindi * docs(website): new translation for puppet.md in Filipino * docs(website): new translation for puppet.md in Serbian (Latin) * docs(website): new translation for puppet.md in Tajik * docs(website): new translation for puppet.md in Yoruba * docs(website): new translation for repositories.md in Romanian * docs(website): new translation for repositories.md in Spanish * docs(website): new translation for repositories.md in Chinese Traditional * docs(website): new translation for repositories.md in Arabic * docs(website): new translation for repositories.md in Czech * docs(website): new translation for repositories.md in German * docs(website): new translation for repositories.md in Italian * docs(website): new translation for repositories.md in Japanese * docs(website): new translation for repositories.md in Korean * docs(website): new translation for repositories.md in Polish * docs(website): new translation for repositories.md in Portuguese * docs(website): new translation for repositories.md in Russian * docs(website): new translation for repositories.md in Serbian (Cyrillic) * docs(website): new translation for repositories.md in Chinese Simplified * docs(website): new translation for reverse-proxy.md in Hindi * docs(website): new translation for reverse-proxy.md in Serbian (Latin) * docs(website): new translation for puppet.md in Russian * docs(website): new translation for server.md in Chinese Traditional * docs(website): new translation for server.md in Czech * docs(website): new translation for server.md in German * docs(website): new translation for server.md in Italian * docs(website): new translation for server.md in Japanese * docs(website): new translation for server.md in Korean * docs(website): new translation for server.md in Polish * docs(website): new translation for server.md in Portuguese * docs(website): new translation for server.md in Russian * docs(website): new translation for server.md in Serbian (Cyrillic) * docs(website): new translation for server.md in Chinese Simplified * docs(website): new translation for server.md in Vietnamese * docs(website): new translation for server.md in Spanish * docs(website): new translation for server.md in Galician * docs(website): new translation for server.md in Portuguese, Brazilian * docs(website): new translation for server.md in Hindi * docs(website): new translation for server.md in Filipino * docs(website): new translation for server.md in Serbian (Latin) * docs(website): new translation for server.md in Tajik * docs(website): new translation for server.md in Yoruba * docs(website): new translation for ssl.md in Romanian * docs(website): new translation for ssl.md in French * docs(website): new translation for ssl.md in Spanish * docs(website): new translation for ssl.md in Arabic * docs(website): new translation for server.md in Arabic * docs(website): new translation for server.md in French * docs(website): new translation for reverse-proxy.md in Tajik * docs(website): new translation for reverse-proxy.md in Yoruba * docs(website): new translation for server.md in Romanian * docs(website): new translation for puppet.md in Serbian (Cyrillic) * docs(website): new translation for puppet.md in Portuguese * docs(website): new translation for plugins.md in French * docs(website): new translation for plugins.md in Romanian * docs(website): new translation for plugins.md in Spanish * docs(website): new translation for puppet.md in Polish * docs(website): new translation for protect-your-dependencies.md in Filipino * docs(website): new translation for protect-your-dependencies.md in Polish * docs(website): new translation for protect-your-dependencies.md in Portuguese * docs(website): new translation for protect-your-dependencies.md in Russian * docs(website): new translation for protect-your-dependencies.md in Serbian (Cyrillic) * docs(website): new translation for protect-your-dependencies.md in Chinese Simplified * docs(website): new translation for protect-your-dependencies.md in Chinese Traditional * docs(website): new translation for protect-your-dependencies.md in Vietnamese * docs(website): new translation for protect-your-dependencies.md in Galician * docs(website): new translation for protect-your-dependencies.md in Portuguese, Brazilian * docs(website): new translation for protect-your-dependencies.md in Hindi * docs(website): new translation for protect-your-dependencies.md in Serbian (Latin) * docs(website): new translation for protect-your-dependencies.md in Japanese * docs(website): new translation for protect-your-dependencies.md in Tajik * docs(website): new translation for protect-your-dependencies.md in Yoruba * docs(website): new translation for puppet.md in Romanian * docs(website): new translation for puppet.md in French * docs(website): new translation for puppet.md in Spanish * docs(website): new translation for puppet.md in Arabic * docs(website): new translation for puppet.md in Czech * docs(website): new translation for puppet.md in German * docs(website): new translation for puppet.md in Italian * docs(website): new translation for puppet.md in Japanese * docs(website): new translation for puppet.md in Korean * docs(website): new translation for protect-your-dependencies.md in Korean * docs(website): new translation for protect-your-dependencies.md in Italian * docs(website): new translation for plugins.md in Arabic * docs(website): new translation for plugins.md in Vietnamese * docs(website): new translation for plugins.md in Czech * docs(website): new translation for plugins.md in German * docs(website): new translation for plugins.md in Italian * docs(website): new translation for plugins.md in Japanese * docs(website): new translation for plugins.md in Korean * docs(website): new translation for plugins.md in Polish * docs(website): new translation for plugins.md in Portuguese * docs(website): new translation for plugins.md in Russian * docs(website): new translation for plugins.md in Serbian (Cyrillic) * docs(website): new translation for plugins.md in Chinese Simplified * docs(website): new translation for plugins.md in Chinese Traditional * docs(website): new translation for plugins.md in Galician * docs(website): new translation for protect-your-dependencies.md in German * docs(website): new translation for plugins.md in Portuguese, Brazilian * docs(website): new translation for plugins.md in Hindi * docs(website): new translation for plugins.md in Filipino * docs(website): new translation for plugins.md in Serbian (Latin) * docs(website): new translation for plugins.md in Tajik * docs(website): new translation for plugins.md in Yoruba * docs(website): new translation for protect-your-dependencies.md in Romanian * docs(website): new translation for protect-your-dependencies.md in French * docs(website): new translation for protect-your-dependencies.md in Spanish * docs(website): new translation for protect-your-dependencies.md in Arabic * docs(website): new translation for protect-your-dependencies.md in Czech * docs(website): new translation for install.md in Czech * docs(website): new translation for linking.md in Portuguese, Brazilian * docs(website): new translation for install.md in Spanish * docs(website): new translation for caching.md in Serbian (Cyrillic) * docs(website): new translation for caching.md in Spanish * docs(website): new translation for caching.md in Arabic * docs(website): new translation for caching.md in Czech * docs(website): new translation for caching.md in German * docs(website): new translation for caching.md in Italian * docs(website): new translation for caching.md in Japanese * docs(website): new translation for caching.md in Korean * docs(website): new translation for caching.md in Polish * docs(website): new translation for caching.md in Portuguese * docs(website): new translation for caching.md in Russian * docs(website): new translation for caching.md in Chinese Simplified * docs(website): new translation for caching.md in Romanian * docs(website): new translation for caching.md in Chinese Traditional * docs(website): new translation for caching.md in Vietnamese * docs(website): new translation for caching.md in Galician * docs(website): new translation for caching.md in Portuguese, Brazilian * docs(website): new translation for caching.md in Hindi * docs(website): new translation for caching.md in Filipino * docs(website): new translation for caching.md in Serbian (Latin) * docs(website): new translation for install.md in French * docs(website): new translation for caching.md in Yoruba * docs(website): new translation for chef.md in Romanian * docs(website): new translation for chef.md in French * docs(website): new translation for caching.md in French * docs(website): new translation for best-practices.md in Yoruba * docs(website): new translation for chef.md in Arabic * docs(website): new translation for best-practices.md in Korean * docs(website): new translation for best-practices.md in Romanian * docs(website): new translation for who-is-using.md in Russian * docs(website): new translation for windows.md in Serbian (Latin) * docs(website): new translation for windows.md in Tajik * docs(website): new translation for windows.md in Yoruba * docs(website): new translation for windows.md in Hindi * docs(website): new translation for en.json in Chinese Simplified * docs(website): new translation for windows.md in Filipino * docs(website): new translation for windows.md in Portuguese, Brazilian * docs(website): new translation for who-is-using.md in Serbian (Cyrillic) * docs(website): new translation for windows.md in Spanish * docs(website): new translation for who-is-using.md in Chinese Simplified * docs(website): new translation for who-is-using.md in Chinese Traditional * docs(website): new translation for who-is-using.md in Vietnamese * docs(website): new translation for who-is-using.md in Galician * docs(website): new translation for who-is-using.md in Portuguese, Brazilian * docs(website): new translation for who-is-using.md in Hindi * docs(website): new translation for who-is-using.md in Filipino * docs(website): new translation for who-is-using.md in Serbian (Latin) * docs(website): new translation for who-is-using.md in Tajik * docs(website): new translation for who-is-using.md in Yoruba * docs(website): new translation for windows.md in Romanian * docs(website): new translation for windows.md in French * docs(website): new translation for windows.md in Arabic * docs(website): new translation for windows.md in Galician * docs(website): new translation for windows.md in Czech * docs(website): new translation for windows.md in German * docs(website): new translation for windows.md in Italian * docs(website): new translation for windows.md in Japanese * docs(website): new translation for windows.md in Korean * docs(website): new translation for windows.md in Polish * docs(website): new translation for windows.md in Portuguese * docs(website): new translation for windows.md in Russian * docs(website): new translation for windows.md in Serbian (Cyrillic) * docs(website): new translation for windows.md in Chinese Simplified * docs(website): new translation for windows.md in Chinese Traditional * docs(website): new translation for windows.md in Vietnamese
68 lines
3.6 KiB
Markdown
68 lines
3.6 KiB
Markdown
---
|
|
id: caching
|
|
title: "Estratégias de Cashing"
|
|
---
|
|
|
|
Verdaccio armazena todos os pacotes por padrão na pasta `/storage`. Mas você pode decidir se quer seguir uma estratégia diferente. Usando plugins você pode usar a nuvem ou qualquer tipo de banco de dados.
|
|
|
|
## Possibilidades de Cache
|
|
|
|
* A criação de um projeto Node.js em servidores de **Integração Contínua** (Bamboo, GitLab, Jenkins, etc.) é uma atividade que pode ser executada várias vezes ao dia, portanto, o servidor fará o download do registro de um grande número de tarballs sempre que isso ocorrer. Como de costume, as ferramentas de IC limpam o cache após cada compilação e o processo é iniciado repetidamente. Isto é um desperdício de bandwidth e reduz o tráfego externo. **Você pode usar o Verdaccio para fazer cache de tarballs e metadados em nossa rede interna e dar um impulso em seu tempo de compilação.**
|
|
* **Latência e Conectividade**, nem todos os países desfrutam de uma conexão de alta velocidade. Neste caso, armazenar pacotes localmente em sua rede é muito útil. Mesmo se você estiver viajando, ou tiver uma conexão fraca, estiver em roaming ou enfrentando países com firewalls fortes que possam afetar a experiência do usuário (por exemplo: corrompendo tarballs).
|
|
* **Modo Offline**, todos os Node Package Managers hoje em dia usam seu próprio cache interno, mas é comum que projetos diferentes usem ferramentas diferentes, o que implica arquivos de bloqueio e assim por diante. Essas ferramentas não podem compartilhar o cache, a única solução é centralizada e depende de um registro de proxy. Verdaccio armazena em cache todos os metadados e tarballs são baixadas por demanda, sendo capaz de compartilhá-los em todo o seu projeto.
|
|
* Evita que qualquer registro remoto retorne repentinamente erros de *HTTP 404* para tarballs que estavam previamente disponíveis, também conhecido como ([left-pad issue](https://www.theregister.co.uk/2016/03/23/npm_left_pad_chaos/)).
|
|
|
|
|
|
# Estratégias para construções mais rápidas
|
|
|
|
> Estamos à procura de mais estratégias, sinta-se à vontade para compartilhar sua experiência neste campo
|
|
|
|
## Evite armazenar tarballs
|
|
|
|
Se você tiver um espaço de armazenamento limitado, pode ser necessário evitar tarballs de cache, ativar o `cache` false em cada uplink armazenará apenas os arquivos de metadados.
|
|
|
|
```
|
|
uplinks:
|
|
npmjs:
|
|
url: https://registry.npmjs.org/
|
|
cache: false
|
|
```
|
|
|
|
## Estendendo o Tempo de Expiração do Cache
|
|
|
|
O Verdaccio, por padrão, aguarda 2 minutos para invalidar os metadados do cache antes de buscar novas informações do registro remoto.
|
|
|
|
```yaml
|
|
uplinks:
|
|
npmjs:
|
|
url: https://registry.npmjs.org/
|
|
maxage: 30m
|
|
```
|
|
|
|
Ao aumentar o valor de `maxage` em cada `uplink`, o controle remoto será consultado com menos frequência. Esta pode ser uma estratégia válida se você não atualiza as dependências com tanta frequência.
|
|
|
|
|
|
## Usando a memória em vez do disco rígido
|
|
|
|
Às vezes, o armazenamento em cache de pacotes não é uma etapa crítica, em vez de rotear pacotes de diferentes registros e alcançar tempos de construção mais rápidos. Existem dois plugins que evitam a gravação em uma unidade física usando a memória.
|
|
|
|
```bash
|
|
npm install -g verdaccio-auth-memory
|
|
npm install -g verdaccio-memory
|
|
```
|
|
|
|
A configuração aparece como a seguir
|
|
|
|
```yaml
|
|
auth:
|
|
auth-memory:
|
|
users:
|
|
foo:
|
|
name: test
|
|
password: test
|
|
store:
|
|
memory:
|
|
limit: 1000
|
|
```
|
|
|
|
Lembre-se, uma vez que o servidor é reiniciado, os dados são perdidos, recomendamos esta configuração nos casos em que você não precisa persistir com a função.
|