Py学习  »  Redis

如何使用Spring Boot和RedisTemplate为Redis数据库中哈希键内的特定行记录设置生存时间(TTL)

Ole S • 1 年前 • 366 次点击  

我有一个 EmployeeDaoImpl 具有 saveEmployee 方法,该方法使用 putIfAbsent 方法 hashOperations 存储 JSON Redis中的字符串。


@Service
public class EmployeeDaoImpl implements IEmployeeDao {

    private static final String MAPPING_KEY = "EMPLOYEES_REG_TEMP_RECORDS";
    
    private final ObjectMapper objectMapper;
    private final StringRedisTemplate stringRedisTemplate;
    @Resource(name = "stringRedisTemplate")  // 'stringRedisTemplate' is defined as a Bean in AppConfig.java
    private HashOperations<String, String, String> hashOperations;
    
    public EmployeeDaoImpl(ObjectMapper objectMapper, StringRedisTemplate stringRedisTemplate) {
        this.objectMapper = objectMapper;
        this.stringRedisTemplate = stringRedisTemplate;
    }
    
    @Override
    public void saveEmployee(Employee emp) throws JsonProcessingException {
        String json = objectMapper.writeValueAsString(emp);
        hashOperations.putIfAbsent(MAPPING_KEY, emp.getRequestRefId(), json);
    }

}

此屏幕截图是如何在Redis中保存员工记录的 enter image description here

我可以通过这种方式使密钥过期


stringRedisTemplate.expire(key, 30, TimeUnit.SECONDS)

但现在我希望能够为 员工记录 哈希密钥而不使密钥过期

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/161543
 
366 次点击  
文章 [ 1 ]  |  最新文章 1 年前