Resouces.Load have caching?

when I load resources with Resources.Load, Is it cached?

It is, yes - you'll find questions littered about Answers on how to try unload them again

From what I’ve read, it does have caching–though a custom cache layer can still speed things up. For me, it roughly triples the access speed to have just a Dictionary-based caching system. (1.6073ms for 1000 Texture2D loads, rather than 4.3648)

Here’s the caching class I use:

using System.Collections.Generic;
using UnityEngine;

public static class VResources
{
    static Dictionary<string, Object> resourceCache = new Dictionary<string, Object>();
    public static T Load<T>(string path) where T : Object
    {
        if (!resourceCache.ContainsKey(path))
            resourceCache[path] = Resources.Load<T>(path);
        return (T)resourceCache[path];
    }
}