Does any of the DBMS (Oracle, MySQL, SQLite, PostGres) provide caching of the result set? I am trying to understand what is the most common method to cache the SQL results so that database load can be reduced. My understanding is that the database is a bottleneck for scaling the application, and caching would help reduce the load in database.
If the DBMS does not provide caching of the results, is it a good idea to use a cache tools such as Memcache?
Databases usually cache the execution plan of the query, not the result set itself.
One feasible approach is certainly do what you suggest and use Memcache for this. Memcache is just one of many tools out there that provide this sort of capability. The decision largely depends on the environment you are working on, type of application (web vs windows), architecture, etc.
If the result set is not too big, you could potentially cache it in memory, for example.