SpringBoot 获取Redis的系统时间戳


/**
 * 获取系统时间
 * @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);
    }
}

A:可以使用Spring Data Redis获取Redis哈希数据,并使用Spring Data JPA来将数据写入MySQL。 首先,需要在Spring Boot项目中引入Spring Data RedisSpring Data JPA依赖: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> ``` 然后,在配置文件中配置Redis和MySQL的连接信息: ```yaml spring: redis: host: localhost port: 6379 datasource: url: jdbc:mysql://localhost:3306/mydb username: root password: root ``` 接着,创建一个RedisService类,用于获取Redis中的哈希数据: ```java @Service public class RedisService { @Autowired private RedisTemplate<String, Object> redisTemplate; public Map<Object, Object> getHashData(String key) { HashOperations<String, Object, Object> hashOperations = redisTemplate.opsForHash(); return hashOperations.entries(key); } } ``` 然后,创建一个JpaService类,用于将数据写入MySQL: ```java @Service public class JpaService { @Autowired private MyEntityRepository myEntityRepository; public void saveData(Map<Object, Object> data) { MyEntity entity = new MyEntity(); entity.setData(data); myEntityRepository.save(entity); } } ``` 最后,在Controller中使用RedisService获取数据,并使用JpaService将数据写入MySQL: ```java @RestController public class MyController { @Autowired private RedisService redisService; @Autowired private JpaService jpaService; @GetMapping("/redis-to-mysql") public void redisToMysql(String redisKey) { Map<Object, Object> data = redisService.getHashData(redisKey); jpaService.saveData(data); } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值