我正在基于SQL查询生成页面.
这是查询:
CREATEPROCEDURE sp_searchUsersByFirstLetter
@searchQuery nvarchar(1)
AS
BEGIN
SET NOCOUNT ON;
SELECT UserName
FROM Users Join aspnet_Users asp on Users.UserId = asp.UserId
WHERE (LoweredUserName like @searchQuery + '%')
Run Code Online (Sandbox Code Playgroud)
我可以为字母表中的每个字母调用此过程,并获取以该字母开头的所有用户.然后,我将这些用户放入我的一个页面上的列表中.
我的问题是:将用户列表缓存到我的网络服务器,而不是每次都查询数据库会更好吗?像这样:
HttpRuntime.Cache.Insert("users", listOfUsersReturnedFromQuery, null, DateTime.Now.AddHours(1), System.Web.Caching.Cache.NoSlidingExpiration);
Run Code Online (Sandbox Code Playgroud)
如果用户列表过时了一小时,它对我来说没问题.每次查询数据库会更有效吗?