redis中设置过期时间

    工作中需要在redis中存储用户设备的deviceId,并在每日指定时间清除缓存.我们只需要将deviceId存入redis,并设置过期时间就能完成这个功能.
    //将deviceId存储在redis中
    jedis.set("DeviceId:"+deviceId,deviceId);
    //设置过期时间
    jedis.pexpireAt("DeviceId:"+deviceId,getExpireTime());
//得到过期时间:每日的5:00
private static Long getExpireTime(){
    //当前时间
    Date date = new Date();
    //建立日历
    Calendar c = Calendar.getInstance();
    c.setTime(date);
    //获得当前年,月,日,时
    int year = c.get(Calendar.YEAR);
    int month = c.get(Calendar.MONTH);
    int day = c.get(Calendar.DATE);
    int hour = c.get(Calendar.HOUR);
    //判断5时前后
    if (hour<5) {
        c.set(year, month, day, 5, 0, 0);
    }else{
        c.set(year, month, day+1, 5, 0, 0);
    }
    return c.getTimeInMillis();
}

你可能感兴趣的:(redis中设置过期时间)