Marcar métodos do Apex como armazenáveis em cache

Marque um método do Apex como armazenável (armazenável em cache) ao invés de usar o setStorable() em toda ação do JavaScript que chame o método do Apex para centralizar sua notação de armazenamento em cache para um método na classe do Apex.

Onde: Essa alteração se aplica a organizações com componentes do Lightning no Lightning Experience, no Salesforce Classic e em todas as versões do aplicativo Salesforce.

Por quê: A marcação de um método como armazenável melhora o desempenho do seu componente, exibindo rapidamente dados em cache do armazenamento do lado do cliente sem aguardar uma viagem do servidor. Se os dados em cache forem obsoletos, a estrutura recuperará os dados mais recentes do servidor. O armazenamento em cache é especialmente benéfico para usuários em conexões de alta latência, lentas ou não confiáveis, como redes 3G.

Antes do Winter '19, para armazenar em cache os dados retornados de um método do Apex, você precisava chamar o setStorable() no código JavaScript em cada ação que chamasse o método do Apex. Agora você pode marcar o método do Apex como armazenável (armazenável com cache) e se livrar de qualquer chamada setStorable() no código JavaScript.

Como: Essa alteração é versionada. Código do componente existente com uma versão de API de 43.0 ou anterior continua funcionando sem nenhuma alteração.

Para armazenar em cache os dados retornados de um método do Apex para qualquer componente com uma versão de API de 44.0 ou posterior, anote o método do Apex com @AuraEnabled(cacheable=true). Por exemplo:

@AuraEnabled(cacheable=true)
public static Account getAccount(Id accountId) {
    // your code here
}

Para atualizar um componente existente para a API versão 44.0, remova as chamadas setStorable() no código JavaScript. Anote o método do Apex com @AuraEnabled(cacheable=true) em vez de @AuraEnabled ou você receberá uma resposta de erro para a ação.