<form runat="server"> <div> <asp:Label runat="server"></asp:Label> <asp:Button runat="server" ID ="btn1" Text="获取测试数据"/> </div> </form>
protected void btn1_Click(object sender, EventArgs e) { string UserName; //读取数据,如果缓存存在直接从缓存中读取,否则从数据库读取然后写入redis using (var redisClient = RedisManager.GetClient()) { UserName = redisClient.Get<string>("UserInfo_123"); if (string.IsNullOrEmpty(UserName)) //初始化缓存 { //TODO 从数据库中获取数据,并写入缓存 UserName = "张三"; redisClient.Set<string>("UserInfo_123", UserName, DateTime.Now.AddSeconds(10)); lbtest.Text = "数据库数据:" + "张三"; return; } lbtest.Text = "Redis缓存数据:" + UserName; } }
测试结果图
首次访问缓存中数据不存在,获取数据并写入缓存,并设定有效期10秒
10秒内再次访问读取缓存中数据