目前,我正在使用C# 3.5和ASP.net开发一个项目管理应用程序。为了减少对数据库的访问次数,我使用静态变量缓存很多信息。例如,用户列表保存在静态类的内存中。该类在启动时从数据库中读取所有信息,并在进行更改时更新数据库,但它不需要从数据库中读取任何信息。
该类会同时将更新的信息通过网络ping到其他web服务器(如果存在)。ping机制是一个Windows服务,缓存对象使用随机可用端口注册到该服务上。它还被用于其他一些功能。
数据量并不是很大。目前,我仅使用它来缓存用户密码哈希、权限、名称、电子邮件等信息。这样可以避免频繁地访问数据库。
我想知道这种方法是否有任何问题,以及是否有更好的缓存数据的方法?