Redis中以层级关系、目录形式存储数据
使用redis存储数据的时候,有时候为了查看的方便,通常会有层级或者说是目录,这时候我们在set的时候,需要将key值使用“:”的符号来区分层级关系,比如:
设置key的失效时间
Redis 有四个不同的命令可以用于设置键的生存时间(键可以存在多久)或过期时间(键什么时候会被删除) :
EXPlRE :用于将键 key 的生存时间设置为 ttl 秒。(ex 表示秒)
ttl 返回距离这个键被服务器自动删除还有多长时间(查看还剩多少秒失效)
方法一:
方法二:
PEXPIRE :用于将键 key 的生存时间设置为 ttl 毫秒。(px表示毫秒)
pttl 返回距离这个键被服务器自动删除还有多长时间(查看还剩多少毫秒失效)
方法一:
方法二:
EXPIREAT < timestamp> :用于将键 key 的过期时间设置为 timestamp 所指定的秒数时间
戳。
PEXPIREAT < timestamp > :用于将键 key 的过期时间设置为 timestamp 所指定的毫秒数时
间戳。
TTL :获取的值为-1说明此 key 没有设置有效期,当值为-2时证明过了有效期。
注:
虽然有多种不同单位和不同形式的设置命令,但实际上EXPlRE、PEXPlRE 、EXPIREAT三个命令都是使用PEXPlREAT 命令来实现的:无论客户端执行的是以上四个命令中的哪一个, 经过转换之后,最终的执行效果都和执行PEXPlREAT 命令一样。
XX与NX
set命令恐怕是redis中使用最多的命令了。
它默认有两条规则:
当key不存在时,设置新的key/value。
当key存在时,覆盖原有的key/value。
第一个参数: key
第二个参数: value
第三个参数: NX 是不存在时才set, XX 是存在时才set
第四个参数: EX 是秒, PX 是毫秒
保存过期时间
redisDB结构的expires字典保存了数据库中所有键的过期时间,我们称这个字典为过期字典:
过期字典的键是一个指针,这个指针指向键空间中的某个键对象( 也即是某个数据库键)。
过期字典的值是一个long long 类型的整数,这个整数保存了键所指向的数据库键的过期时间:一个毫秒精度的UNIX 时间戳。
删除操作
del :用于删除数据(通用,适用于所有数据类型)
hdel :用于删除hash类型数据!