/**
 * 获取系统时间
 * @author ff
 * @date 2021/10/25 15:39
 */
@Component
public class GetSystemTime {

    private final RedisTemplate<String, Object> redisTemplate;

    private static final String SCRIPT_TIME = "local a=redis.call('TIME'); return (a[1]*1000000+a[2])/1000";

    public GetSystemTime(RedisTemplate<String, Object> redisTemplate) {
        this.redisTemplate = redisTemplate;
    }

    /**
     * 获取当前时间戳,13位
     * @return
     */
    public Long currentTimeMillis() {
        final DefaultRedisScript<Long> script = new DefaultRedisScript<>(SCRIPT_TIME, Long.class);
        return redisTemplate.execute(script, Collections.EMPTY_LIST);
    }
}

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐