zoukankan      html  css  js  c++  java
  • 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) }
  • 相关阅读:
    PAT L3-021 神坛
    2019.07.08【NOIP提高组】模拟 A 组 总结
    2019.07.06【NOIP提高组】模拟 A 组 总结
    2019.07.05【NOIP提高组】模拟 A 组 总结
    jzoj 1287. 躲雨
    jzoj 4614. 【NOIP2016模拟7.12】字符串
    jzoj 3317. 【BOI2013】管道
    2019.07.04【NOIP提高组】模拟 A 组
    jzoj 3316. 【BOI2013】非回文数字
    jzoj 4616. 【NOI2016模拟7.12】二进制的世界
  • 原文地址:https://www.cnblogs.com/LZXX/p/8057575.html
Copyright © 2011-2022 走看看