我应该检查还是只在Redis中设置记录?

时间:2016-02-07 02:46:32

标签: database-design redis

当用户播放我的某个应用时,我会将其会话保存到每日,每周,每月和所有时间表中。我想知道在插入之前用户是否已经在桌面中是否聪明。假设它们不在表中,那么无论什么只有写入,它都需要以相反的方式进行读写。

1 个答案:

答案 0 :(得分:0)

这主要取决于你的要求。 由于缺乏信息,我假设当您说每日,每周,每月和所有时间表时,您指的是TTL值。

然后有两种情况

  1. 如果用户的最新访问必须延长密钥的到期时间
  2. 因此,如果您需要覆盖这些密钥的TTL,则不需要读取(如果用户的最新访问必须延长密钥的到期时间)

    1. 后续访问不得更改TTL
    2. 否则,如果会话到期时间必须保持不变(从第一次访问时起),则必须使用GET来读取SET之前是否存在该值。根据并发性要求,这两个操作可以是原子的,也可以不是。

      P.S如前所述,这个答案基于一些假设。请分享关于您的KEY结构的更多细节