Redis数据库里面的每个键值对(key-value pair)都是由对象(object)组成的,其中:
- 数据库键总是一个字符串对象(string object);
- 而数据库键的值则可以是字符串对象、列表对象(listobject)、哈希对象(hash object)、集合对象(setobject)、有序集合对象(sorted set object)这五种对象中的其中一种。
❑SET、GET、APPEND、STRLEN等命令只能对字符串键执行;
❑HDEL、HSET、HGET、HLEN等命令只能对哈希键执行;
❑RPUSH、LPOP、LINSERT、LLEN等命令只能对列表键执行;
❑SADD、SPOP、SINTER、SCARD等命令只能对集合键执行;
❑ZADD、ZCARD、ZRANK、ZSCORE等命令只能对有序集合键执行;
Redis有四个不同的命令可以用于设置键的生存时间(键可以存在多久)或过期时间(键什么时候会被删除):
❑EXPIRE<key><ttl>命令用于将键key的生存时间设置为ttl秒。
❑PEXPIRE<key><ttl>命令用于将键key的生存时间设置为ttl毫秒。
❑EXPIREAT<key><timestamp>命令用于将键key的过期时间设置为timestamp所指定的秒数时间戳。
❑PEXPIREAT<key><timestamp>命令用于将键key的过期时间设置为timestamp所指定的毫秒数时间戳。
虽然有多种不同单位和不同形式的设置命令,但实际上EXPIRE、PEXPIRE、EXPIREAT三个命令都是使用PEXPIREAT命令来实现的:无论客户端执行的是以上四个命令中的哪一个,经过转换之后,最终的执行效果都和执行PEXPIREAT命令一样。
网友评论