Is there a way to configure memory cache or buffers per database?
Sorry, but you can’t allocate SQL Server cache or buffer memory to specific databases. SQL Server is designed to work dynamically, changing its use of resources in order to best optimize the performance of all the databases on your server. If you were to hardcode specific memory amount to one database over another, it would prevent SQL Server from doing what it thinks is best for the current situation, most likely hurting the overall performance of your server.
If you are experiencing performance issues due to lack of enough memory to cache all of the data effectively (in order to achieve a Buffer Hit Cache Ratio of 99% or better), then the easiest and best thing for you to do is add more RAM to your SQL Server. Another option, although more expensive, is to locate each database on its own server.