It appears that the game checks for spawned forage items already existing in a location. If there are fewer than 6, it spawns between 2 and 5 more. (Not all of these will necessarily be placed, since they'll only be placed in an allowable location, e.g. not occupied already and not behind a tree or bush. The game appears to try 11 times to place a given forage item, after which it gives up.)
While this happens daily, the game also tries to place extras on certain days, such as at the beginning of a season or every 7th day (that is, days evenly divisible by 7). It also gives an extra try if you've been in the game less than 4 days, perhaps to make it extra-obvious that there are forageable items out there.
Since only 2-5 are placed each day, and since they're placed again if there are fewer than 6, visiting each location with spawnable items every other day is probably sufficient. After two days, the number of forage items could potentially reach the maximum allowable until you grab them, whereupon they'll start spawning again the next day.
In winter specifically, items such as snow yams are also placed beneath diggable dirt.
(Source: Snooping in the code with a decompiler)