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 ...
随机推荐
- POJ - 2698 贪心
经典面替换算法,每次选择最远的那个碟片请求进行替换. AC代码 #include <cstdio> #include <cmath> #include <algorith ...
- UVA - 1218 Perfect Service (树形DP)
思路:dp[i][0]表示i是服务器:dp[i][1]表示i不是服务器,但它的父节点是服务器:dp[i][2]表示i和他的父亲都不是服务器. 转移方程: d[u][0] += min(d[ ...
- 在JDBC中使用Java8的日期LocalDate、LocalDateTime
在实体Entity里面,可以使用java.sql.Date.java.sql.Timestamp.java.util.Date来映射到数据库的date.timestamp.datetime等字段 但是 ...
- BIOS基础
Basic Input Output System 基本输入输出系统 固化到主板上-个 ROM芯片上的 程序 为计算机提供最底层.最直接的的硬件设置和控制 以上来自百度 不讨论时软件还 ...
- 如何使用DirectDraw直接显示RGB、YUV视频数据(播放yuv)
#include "draw.h"void CTest100Dlg::OnButton1() { // TODO: Add your control notification ha ...
- Java之List排序
1.Java封装类 Student.java: /** * @Title:Student.java * @Package:com.you.data * @Description: * @Author: ...
- HighCharts之2D堆柱状图
HighCharts之2D堆柱状图 1.HighCharts之2D堆柱状图源码 Stacked.html: <!DOCTYPE html> <html> <head> ...
- MTBF
MTBF,即平均故障间隔时间,英文全称是"Mean Time Between Failure".是衡量一个产品(尤其是电器产品)的可靠性指标.单位为"小时".它 ...
- C#中各种计时器 Stopwatch、TimeSpan
1.使用 Stopwatch 类 (System.Diagnostics.Stopwatch)Stopwatch 实例可以测量一个时间间隔的运行时间,也可以测量多个时间间隔的总运行时间.在典型的 St ...
- Caused by: java.lang.ClassNotFoundException: javax.persistence.NamedStoredProcedureQuery
1.错误描述 2014-7-12 21:06:37 org.hibernate.engine.jdbc.internal.LobCreatorBuilder useContextualLobCreat ...