【Redis源码】setnx、setex、psetex命令
2023-06-13 09:11:31 时间
简介
在读本文之前,建议阅读文章:Redis Set命令详解.
在了解了set的原理之后,setnx、setex、psetex命令的原理我们也应该大致了解了,这3个命令也是先调用了tryObjectEncoding将值优化,再调用setGenericCommand将key-value设置到数据库,只不过这3个命令不需要解析额外参数。
setnx命令
格式:
setnx key value
- 说明: 将key-value设置到数据库,当且仅当key不存在时。
- 源码分析: 在调用setGenericCommand时,将flags赋值为OBJ_SET_NX,表示只有key不存在时才可以执行函数。
setex命令
格式:
setex key seconds value
- 说明: 将key-value设置到数据库,并且指定key的超时秒数。
- 源码分析: 在调用setGenericCommand时,将flags赋值为OBJ_SET_NO_FLAGS,expire赋值为UNIT_SECONDS,表示不需要考虑数据库中是否存在key,且时间单位为秒。
psetex命令
格式:
psetex key milliseconds value
- 说明: 将key-value设置到数据库,并且指定key的超时毫秒数。
- 源码分析: 在调用setGenericCommand时,将flags赋值为OBJ_SET_NO_FLAGS,expire赋值为
UNIT_MILLISECONDS
,表示不需要考虑数据库中是否存在key,且时间单位为毫秒。
相关文章
- Redis数据库:完全指南到熟练掌握命令(redis数据库命令)
- 解决Redis外网无法访问问题(redis外网不能访问)
- 攻破Redis缓存的魔咒:清除缓存的命令(redis清缓存命令)
- 掌握Redis命令集中实现自动执行(执行redis命令)
- 使用批处理命令一键清空Redis(批处理redis清空命令)
- 怎样查询Redis服务的端口号(怎么查redis的端口)
- 如何切换Redis数据库及其优势(怎么切换redis数据库)
- 班每特学院让你融会贯通Redis高级班(每特学院redis高级)
- 学会看懂Redis源码 尽享学习好收获(看懂redis源码好处)
- 给本地Redis喘口气快速优化你的响应速度(本地redis很卡)
- 实用操作Redis命令指南(操作redis命令大全)
- 比较VS Code使用Redis管理数据(vs使用redis)
- 嗅探Redis运用Sinter精华(sinter redis)
- 如何结束Redis进程(如何杀死redis进程)
- 如何正确启动Redis服务(如何启动redis.)
- 如何使用命令更改Redis的密码(命令更改redis密码)
- 分析Redis项目实战源码剖析(redis 项目实战源码)
- 谨慎管理Redis项目内存配置(redis项目内存限制)
- 行快速了解 Redis 在阿里云的命令行使用(redis连接阿里云命令)
- 深入探究Redis读取数据出现错误(redis读的数据错误)
- 使用Redis实现优雅键值设置(redis设置键类型)
- Redis集群实现JWT技术保障安全(redis集群jwt)
- Redis实现计时功能的好助手(redis 计时命令)
- 分析Redis网络模型对源码的深入分析(redis网络模型源码)
- 加速提升数据访问速度Redis缓存的福音(redis缓存针对什么)