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>)
{//查找到当前用户
DateTime customertime = DateTime.Now;
foreach (var item in isList)
{
customertime = item.CreateTime.AddHours();
}
//判断当前时间 是否超过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) }
c# 根据唯一码,存缓存 实现12小时内 阅读量+1的更多相关文章
- 12小时包你学会基于ReactMix框架的ReactNativeApp开发(一)Hello World!
ReactMixhttps://github.com/xueduany/react-mix自从昨天发布起来,得到了不少小伙伴的热捧,很高兴帮助大家解决了憋在心中很久的问题“如果我只会HTML,Css, ...
- Android设备唯一码的获取
Android设备唯一码的获取 UTDID是集团无线设备统一ID方案,目的是给每一台设备一个ID,作为唯一标识.UTDID由客户端生成,并在设备中各个客户端之间共享.UTDID的生成中包含时间戳和随机 ...
- jQuery2.x源码解析(缓存篇)
jQuery2.x源码解析(构建篇) jQuery2.x源码解析(设计篇) jQuery2.x源码解析(回调篇) jQuery2.x源码解析(缓存篇) 缓存是jQuery中的又一核心设计,jQuery ...
- 稳定获取Android设备唯一码(UUID)的解决方案
最近做的一个项目中需要用到Android设备唯一码(UUID)来标识一台设备, Android中设备唯一码有很多,如:MAC地址.IMEI号(DeviceId).IMSI号.ANDROID_ID.序列 ...
- Guid.NewGuid().ToString()生成唯一码js
Guid.NewGuid().ToString() 生成唯一码,用户生成随机id 生成唯一编码,版本控制对比等. //表示全局唯一标识符 (GUID). function Guid(g) { var ...
- MD5做为文件名。机器唯一码有电脑的CPU信息和MAC地址,这两个信息需要在linux或unix系统下才能获取吧。
可以采用机器(电脑)唯一码 + 上传IP + 当前时间戳 + GUID ( + 随机数),然后MD5做为文件名.机器唯一码有电脑的CPU信息和MAC地址,这两个信息需要在linux或unix系统下才能 ...
- Python 根据id生成唯一码
Python 根据id生成唯一码 最近业务中遇到需要分享某个文案,复制文案打开APP需要提取文案中包含的id,但又不想明文暴露id,所以需要对id进行加密,很想让前端来做,可惜多个前端协调起来不方便( ...
- android 设备唯一码的获取,Cpu号,Mac地址
开发Android应用中,我们常常需要设备的唯一码来确定客户端. Android 中的几中方法,使用中常常不可靠 1. DEVICE_ID 假设我们确实需要用到真实设备的标识,可能就需要用到DEVIC ...
- Android获取手机唯一码
大部分安卓手机都可以获取手机唯一码,但是有些手机的厂商却禁止了获取手机唯一码的权限,导致我们不能使用手机唯一码作为标识,但遇到一些必须要填的坑,我们也不能不填,所以使用以下方法来填坑,因此我们使用UU ...
随机推荐
- java的mac自动化-自动运行java程序
本文旨在帮助读者介绍,如果一个测试工程师拿到了mac本,该如何在本地自动运行java代码 首先如图所示写下如下一段代码 package zlr;import org.junit.Test;public ...
- Java--JDBC连接数据库(二)
本篇文章接着上篇文章,还剩下一个知识点是,可滚动的结果接集和可更新的结果集.一般默认情况之下,多结果集是不可以显式滚动,移动选择的.如果想要做到,需要指定一些参数,那么本篇就接着介绍如何操作可滚动的结 ...
- Ansible自动化运维笔记1(安装配置)
1.Ansible的安装 pip install ansible==1.9.1 ansible1.9.1版本依赖的软件有 Python2.6以上版本 paramiko模块 PyYAML Jinja2 ...
- Object方法
1. getClass() 返回此 Object 的运行时类. 2. hashCode() 返回该对象的哈希码值. 3. equals() 指示其他某个对象是否与此对象“相等”. 4. toStrin ...
- hi3531结构: VB_CONF_S
定义视频缓存池属性结构体. typedef struct hiVB_CONF_S { HI_U32 u32MaxPoolCnt; /* max count of pools, (0,VB ...
- Java类型转化报错
Java类型转化报错 报错如下: java.lang.ClassCastException:java.util.HashMap cannot be cast to java.util.List.
- My97 DatePicker图标触发
My97 DatePicker图标触发 1.设计源码 <%@ page language="java" import="java.util.*" page ...
- Linux显示按文件大小降序排列
Linux显示按文件大小降序排列 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ ls -ls 总用量 56 12 -rw-r--r-- 1 youhaidon ...
- 版本控制工具--svn和git的使用(一) -----版本控制的好处以及分类
版本控制工具 版本控制VCS(Version Control Systems)是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统.这个系统可以自动帮我们备份文件的每一次更改,并且可以 ...
- @postconstruct初始化的操作
从Java EE 5规范开始,Servlet中增加了两个影响Servlet生命周期的注解(Annotion):@PostConstruct和@PreDestroy.这两个注解被用来修饰一个非静态的vo ...