Redis简介
Redis键
- KEYS pattern
查找所有符合给定模式 pattern 的 key 。 - EXISTS key
检查给定 key 是否存在。 - EXPIRE key seconds
为给定 key 设置生存时间,当 key 过期时(生存时间为 0 ),它会被自动删除。 - PEXPIRE key milliseconds
这个命令和 EXPIRE 命令的作用类似,但是它以毫秒为单位设置 key 的生存时间,而不像 EXPIRE 命令那样,以秒为单位。 - PERSIST key
移除给定 key 的生存时间,将这个 key 从『易失的』(带生存时间 key )转换成『持久的』(一个不带生存时间、永不过期的 key )。 - RANDOMKEY
从当前数据库中随机返回(不删除)一个 key 。 - TTL key
以秒为单位,返回给定 key 的剩余生存时间(TTL, time to live)。 - PTTL key
这个命令类似于 TTL 命令,但它以毫秒为单位返回 key 的剩余生存时间,而不是像 TTL 命令那样,以秒为单位。 - RENAME key newkey
将 key 改名为 newkey 。当 key 和 newkey 相同,或者 key 不存在时,返回一个错误。当 newkey 已经存在时, RENAME 命令将覆盖旧值。 - RENAMENX key newkey
当且仅当 newkey 不存在时,将 key 改名为 newkey 。当 key 不存在时,返回一个错误。 - TYPE key
返回 key 所储存的值的类型。 - DEL key [key …]
删除给定的一个或多个 key 。不存在的 key 会被忽略。 - FLUSHALL
删除所有的key
Redis数据类型
- String(字符串)
- Hash(哈希表)
- List(列表)
- Set(集合)
- SortedSet(有序集合)
字符串操作
- SET key value [EX seconds] [PX milliseconds] [NX|XX]
将字符串值 value 关联到 key 。如果 key 已经持有其他值, SET 就覆写旧值,无视类型。对于某个原本带有生存时间(TTL)的键来说, 当 SET 命令成功在这个键上执行时, 这个键原有的 TTL 将被清除。 - MSET key value [key value …]
同时设置一个或多个 key-value 对。 - GET key
返回 key 所关联的字符串值。如果 key 不存在那么返回特殊值 nil 。假如 key 储存的值不是字符串类型,返回一个错误,因为 GET 只能用于处理字符串值。 - MGET key [key …]
返回所有(一个或多个)给定 key 的值。 - GETRANGE key start end
返回 key 中字符串值的子字符串,字符串的截取范围由 start 和 end 两个偏移量决定(包括 start 和 end 在内)。
负数偏移量表示从字符串最后开始计数, -1 表示最后一个字符, -2 表示倒数第二个,以此类推。
GETRANGE 通过保证子字符串的值域(range)不超过实际字符串的值域来处理超出范围的值域请求。 - GETSET key value
将给定 key 的值设为 value ,并返回 key 的旧值(old value)。
当 key 存在但不是字符串类型时,返回一个错误。 - APPEND key value
如果 key 已经存在并且是一个字符串, APPEND 命令将 value 追加到 key 原来的值的末尾。如果 key 不存在, APPEND 就简单地将给定 key 设为 value ,就像执行 SET key value 一样。 - STRLEN key
返回 key 所储存的字符串值的长度。 - DECR key
将 key 中储存的数字值减一。 - DECRBY key decrement
将 key 所储存的值减去减量 decrement 。 - INCR key
将 key 中储存的数字值增一。 - INCRBY key increment
将 key 所储存的值加上增量 increment 。 - INCRBYFLOAT key increment
为 key 中所储存的值加上浮点数增量 increment 。
哈希表操作
- HSET key field value
将哈希表 key 中的域 field 的值设为 value 。
如果 key 不存在,一个新的哈希表被创建并进行 HSET 操作。
如果域 field 已经存在于哈希表中,旧值将被覆盖。 - HGET key field
返回哈希表 key 中给定域 field 的值。 - HDEL key field [field …]
删除哈希表 key 中的一个或多个指定域,不存在的域将被忽略。 - HKEYS key
返回哈希表 key 中的所有域。 - HVALS key
返回哈希表 key 中所有域的值。 - HLEN key
返回哈希表 key 中域的数量。 - HEXISTS key field
查看哈希表 key 中,给定域 field 是否存在。 - HMSET key field value [field value …]
同时将多个 field-value (域-值)对设置到哈希表 key 中。
此命令会覆盖哈希表中已存在的域。
如果 key 不存在,一个空哈希表被创建并执行 HMSET 操作。
列表操作
- LPUSH key value [value …]
将一个或多个值 value 插入到列表 key 的表头 - LRANGE key start stop
返回列表 key 中指定区间内的元素,区间以偏移量 start 和 stop 指定。 - LLEN key
返回列表 key 的长度。