c# 根据唯一码,存缓存 实现12小时内 阅读量+1
需求:某一个详细页面需要实现用户 12小时内阅读量+1,
实现思路;得到一个唯一码的机器码,不管是否用户登录了 都有这个码,然后存到缓存里面 最后判断时间+12小时 是否超过当前时间
string cacheID="" //此处获取唯一机器码 //获取缓存 object ReadingCache = HttpRuntime.Cache["name"]; // name 自己定义 if (ReadingCache== null) {//如果当前缓存为空 //创建缓存 System.Web.Caching.Cache objCache = HttpRuntime.Cache;
// 实例化 list<A> List<A> list = new List<A>();
//实例化 A类 该类有两个字段 ID,CreateTime //唯一码 创建时间 A CustomerModel = new A(); CustomerModel.ID = CustomerGuid; CustomerModel.CreateTime = DateTime.Now;
//添加到LIST 集合中 list.Add(CustomerModel); //添加缓存 objCache.Insert("LiveCustomerReading", list, null); //阅读量+1 此处 获取数据库的 阅读量字段 并+1 更新 //查询数据库的阅读量 并+1更新 int count= 查数据阅读量
bool isupdate=更新数据库阅读量方法(count) } else {//如果不为空 List<A> AAAA= new List<A>(); AAA= (List<A>)HttpRuntime.Cache["name"]; //得到当前用户的缓存 var isList= LiveCustomerReadingCacheList.FindAll(s => s.ID== CustomerGuid); if ( isList.Count>0) {//查找到当前用户 DateTime customertime = DateTime.Now; foreach (var item in isList) { customertime = item.CreateTime.AddHours(12); }
//判断当前时间 是否超过12小时 if (customertime < DateTime.Now) {//如果超时 则更新时间,并阅读量+1 int count=查询数据库 +1
boll isupdate= 更新到数据库方法(count)
List<A> uptime = isList as List<A>; A uptimes= uptime.Find(s => s.ID == CustomerGuid); uotimes.CreateTime = DateTime.Now; //更新缓存时间 } } else {//如果没找到用户ID 则追加到缓存类 List<A> uptime = isList as List<A>; Aaddcustome = new A(); addcustome.ID = CustomerGuid; addcustome.CreateTime = DateTime.Now; uptime.Add(addcustome); int count=查询数据库阅读量 并 +1 bool isupdate=更新数据库阅读量方法(count) }
本文来自博客园,作者:12不懂3,转载请注明原文链接:https://www.cnblogs.com/LZXX/p/8057575.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY