Redis过期时间

£神魔★判官ぃ 2021-10-01 02:48 486阅读 0赞

上次开发用了redis后效果不错,后来在进阶的开发中查询到,如果redis一直不释放也会占用内存,于是就想着给redis加上个过期时间。

具体操作很简单,只要在设置redis的时候加上exp就可以了,时间长短可以自己定。

  1. 1 public static void SetRedisTable(string key, DataTable dt, TimeSpan? exp = null)
  2. 2 {
  3. 3 if (dt != null && !string.IsNullOrEmpty(key))
  4. 4 {
  5. 5 string value = JsonHelper.ToJson(dt);
  6. 6 if (exp == null)
  7. 7 exp = new TimeSpan(864000000000);
  8. 8 RedisClient.Db.StringSetAsync(key, value, expiry: exp);
  9. 9 }
  10. 10 }

注意这个exp的时间,之前以为是以毫秒计算,所以设置一天过期的话只写了86400000,然而,他这里的最小单位似乎是。。100ns。。也就是1个ticks=100毫微秒=100纳秒。

所以应该写成864000000000表示一天。

恩,顺便补了一下时间方面的知识。。

  1. 1秒=1000毫秒(ms) 1毫秒=11,000秒(s)
  2. 1秒=1,000,000 微秒(μs) 1微秒=11,000,000秒(s)
  3. 1秒=1,000,000,000 纳秒(ns) 1纳秒=11,000,000,000秒(s)
  4. 1秒=1,000,000,000,000 皮秒(ps) 1皮秒=11,000,000,000,000秒(s)

C#中时间的Ticks属性
是一个很大的长整数,单位是 100 毫微秒。表示自 0001 年 1 月 1 日午夜 12:00:00 以来已经过的时间的以 100 毫微秒为间隔的间隔数。

1 毫秒 = 10^-3 秒,
1 微秒 = 10^-6 秒,
1 毫微秒 = 10^-9 秒,
100 毫微秒 = 10^-7 秒。

转载于:https://www.cnblogs.com/kliine/p/10314235.html

发表评论

表情:
评论列表 (有 0 条评论,486人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Redis过期时间

    上次开发用了redis后效果不错,后来在进阶的开发中查询到,如果redis一直不释放也会占用内存,于是就想着给redis加上个过期时间。 具体操作很简单,只要在设置redis