社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Redis

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

Ole S • 1 年前 • 442 次点击  

我有一个 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
 
442 次点击  
文章 [ 1 ]  |  最新文章 1 年前