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.Promise
dö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. |