Redis键命令用于管理redis的键。redis
语法:COMMAND KEY_NAME数据库
Redis键的基本命令unix
一、设置键值字符串
SET keyname valueget
二、删除键string
DEL key hash
该命令用于key存在时删除key。不存在时key会被忽略。返回被删除key的数量。it
redis> DEL w3ckey (integer) 1
三、序列化key序列化
DUMP key数据类型
序列化给定的key,并返回被序列化的值。若是key不存在,那么返回nil,不然,返回序列化以后的值。
redis> DUMP greeting "\x00\x15hello, dumping world!\x06\x00E\xa0Z\x82\xd8r\xc1\xde" redis> DUMP not-exists-key (nil)
四、检查key是否存在
EXISTS key
若key存在则返回1,不然返回0。
redis > EXISTS runoob-new-key (integer) 1
五、为给定key设置过时时间
EXPIRE key time_in_seconds
设置成功返回 1 。 当 key 不存在或者不能为 key 设置过时时间时(好比在低于 2.1.3 版本的 Redis 中你尝试更新 key 的过时时间)返回 0 。
redis 127.0.0.1:6379> EXPIRE runooobkey 60 (integer) 1
EXPIREAT KEY_NAME TIME_IN_UNIX_TIMESTAMP
Expireat 命令用于以 UNIX 时间戳(unix timestamp)格式设置 key 的过时时间。key 过时后将再也不可用。EXPIREAT 的做用和 EXPIRE 相似,都用于为 key 设置过时时间。 不一样在于 EXPIREAT 命令接受的时间参数是 UNIX 时间戳(unix timestamp)。
redis 127.0.0.1:6379> EXPIREAT runoobkey 1293840000 (integer) 1 EXISTS runoobkey (integer) 0
PEXIPIRE key milliseconds
PEXPIRE 命令和 EXPIRE 命令的做用相似,可是它以毫秒为单位设置 key 的生存时间,而不像 EXPIRE 命令那样,以秒为单位。
redis> SET mykey "Hello" "OK" redis> PEXPIRE mykey 1500 (integer) 1 redis> TTL mykey (integer) 1 redis> PTTL mykey (integer) 1498 redis>
PEXPIREAT KEY_NAME TIME_IN_MILLISECONDS_IN_UNIX_TIMESTAMP
设置 key 过时时间的时间戳(unix timestamp) 以毫秒计
redis 127.0.0.1:6379> PEXPIREAT runoobkey 1555555555005 (integer) 1
六、KEYS pattern
查找全部符合给定模式pattern的key,返回符合给定模式的 key 列表 (Array)。
redis 127.0.0.1:6379> KEYS runoob* 1) "runoob3" 2) "runoob1" 3) "runoob2"
七、MOVE KEY_NAME DES_DATABASE
MOVE 命令用于将当前数据库的 key 移动到给定的数据库 db 当中。移动成功返回1,失败返回0。
八、PERSIST key_name
PERSIST 命令用于移除给定 key 的过时时间,使得 key 永不过时。当过时时间移除成功时,返回 1 。 若是 key 不存在或 key 没有设置过时时间,返回 0 。
redis> SET mykey "Hello" OK redis> EXPIRE mykey 10 # 为 key 设置生存时间 (integer) 1 redis> TTL mykey (integer) 10 redis> PERSIST mykey # 移除 key 的生存时间 (integer) 1 redis> TTL mykey (integer) -1
九、PTTL key_name
Pttl 命令以毫秒为单位返回 key 的剩余过时时间。
当 key 不存在时,返回 -2 。 当 key 存在但没有设置剩余生存时间时,返回 -1 。 不然,以毫秒为单位,返回 key 的剩余生存时间。
注意:在 Redis 2.8 之前,当 key 不存在,或者 key 没有设置剩余生存时间时,命令都返回 -1 。
十、TTL key_name
TTL 命令以秒为单位返回 key 的剩余过时时间。
当 key 不存在时,返回 -2 。 当 key 存在但没有设置剩余生存时间时,返回 -1 。 不然,以秒为单位,返回 key 的剩余生存时间。
注意:在 Redis 2.8 之前,当 key 不存在,或者 key 没有设置剩余生存时间时,命令都返回 -1 。
十一、RANDOMKEY
RANDOMKEY 命令从当前数据库中随机返回一个 key 。当数据库不为空时,返回一个 key 。 当数据库为空时,返回 nil 。
十二、RENAME OLD_KEY_NAME NEW_KEY_NAME
Rename 命令用于修改 key 的名称 。
更名成功时提示 OK ,失败时候返回一个错误。
当 OLD_KEY_NAME 和 NEW_KEY_NAME 相同,或者 OLD_KEY_NAME 不存在时,返回一个错误。 当 NEW_KEY_NAME 已经存在时, RENAME 命令将覆盖其旧值。
redis> SET pc "lenovo" OK redis> SET personal_computer "dell" OK redis> RENAME pc personal_computer OK redis> GET pc (nil) redis:1> GET personal_computer # 原来的值 dell 被覆盖了 "lenovo"
1三、RENAMENX OLD_KEY_NAME NEW_KEY_NAME
Renamenx 命令用于在新的 key 不存在时修改 key 的名称 。修改为功时,返回 1 。 若是 NEW_KEY_NAME 已经存在,返回 0 。
# newkey存在时,失败 redis> SET animal "bear" OK redis> SET favorite_animal "butterfly" OK redis> RENAMENX animal favorite_animal (integer) 0 redis> get animal "bear" redis> get favorite_animal "butterfly"
1四、TYPE KEY_NAME
Type 命令用于返回 key 所储存的值的类型。
返回 key 的数据类型,数据类型有: