unstable_cache
unstable_cache veritabanı sorguları gibi pahalı işlemlerin sonuçlarını önbelleğe almanıza ve bunları birden fazla istekte yeniden kullanmanıza olanak tanır.
import { getUser } from './data';
import { unstable_cache } from 'next/cache';
const getCachedUser = unstable_cache(
async (id) => getUser(id),
['my-app-user']
);
export default async function Component({ userID }) {
const user = await getCachedUser(userID);
...
}Uyarı: Bu API kararsızdır ve gelecekte değişebilir. Bu API stabil hale geldikçe, gerekirse geçiş belgeleri ve kodmodları sağlayacağız.
Parameters
const data = unstable_cache(fetchData, keyParts, options)()fetchData: Bu, önbelleğe almak istediğiniz verileri getiren eşzamansız bir işlevdir.Promisedöndüren bir fonksiyon olmalıdır.keyParts: Bu, önbelleğe alınan anahtarı tanımlayan bir dizidir. Önbelleğe alınan verinin anahtarını birlikte tanımlayan global olarak benzersiz değerler içermelidir. Önbellek anahtarı ayrıca fonksiyona aktarılan argümanları da içerir.options: Bu, önbelleğin nasıl davranacağını kontrol eden bir nesnedir. Aşağıdaki özellikleri içerebilir:tags: Önbelleğin geçersiz kılınmasını kontrol etmek için kullanılabilecek bir etiket dizisi.revalidate: Önbelleğin yeniden doğrulanması gereken saniye sayısı.
Returns
unstable_cache çağrıldığında, önbelleğe alınan verileri çözümleyen bir Promise döndüren bir işlev döndürür. Veriler önbellekte değilse, sağlanan işlev çağrılır ve sonucu önbelleğe alınır ve döndürülür.
Version History
| Version | Changes |
|---|---|
v14.0.0 | unstable_cache introduced. |