首页 > 代码库 > Redis常用的基本命令整理
Redis常用的基本命令整理
SET key value [EX seconds] [PX milliseconds] [NX|XX]
设置缓存 K-V,如果 key 已经存在,则重写
EX seconds -- 设置过期时间, 单位: seconds
PX milliseconds -- 设置过期时间,单位:milliseconds
NX -- 只有 key 不存在时才设置 K-V
XX -- 只有 key 存在时才设置 K-V //NX和XX只能二选一
SETNX key value
当 key 不存在时,设置缓存 K-V,相当于 SET key value NX
MSET key value [key value …]
设置多个 K-V
GET key
获取 key 的缓存值
如果 key 不存在,返回 “nil”
如果缓存值不是 string 类型,则报错(因为 GET 只处理 string)
MGET key [key …]
返回多个 keys 的缓存值
如果缓存值类型不是 string 或 key 不存在,则缓存 nil,因为该操作不会失败
INCR key
将缓存值加 1(本操作只支持 64 位带符号整型)
如果 key 不存在,执行操作之前先将缓存值设置为0,然后再将缓存值加1
如果 key 的缓存值 type 不正确,或者 string 值不能被转换为整数,操作报错
INCRBY key increment
将缓存值增加给定的值
DECR key
将缓存值减 1
DECRBY key increment
将缓存值减少给定的值
RENAME key newkey
重全名 key
如果新 key 与旧 key 一样,或者 key 不存在,会报错
如果新 key 已经存在,则重写
EXISTS key [key …]
返回存在的 keys 的数目,检查key是否存在,返回 0 表示一个 key 都没找到,支持多个key
DEL key [key …]
删除给定的 keys,如果 key 不存在,忽略。返回删除成功的 keys 数目。比如:del key1 key2,删除两个key,如果返回的数目是2,表示两个key都删除了,如果是0或1,就代表有key没有被删除成功
KEYS pattern
返回所有匹配给定模式的 keys 的 list
支持全局样式匹配
h?llo matches hello, hallo and hxllo //?代表中间任意一个字母
h*llo matches hllo and heeeello //*可以代表中间任意数字
h[ae]llo matches hello and hallo, but not hillo //中间可以是a或者e
h[^e]llo matches hallo, hbllo, ... but not hello //非e
h[a-b]llo matches hallo and hbllo //a到b中的任意一个
TTL key
返回给定 key 的存活时间(seconds)
返回 -2,表示 key 不存在
返回 -1,表示 key 存在,但没有设置过期时间
PERSIST key
删除给定 key 设置的过期时间,让该 key 不过期
返回 1,表示成功删除 key 的过期时间
返回 0,表示 key 不存在,或者没有设置过期时间
EXPIRE key seconds
为给定的 key 设置过期时间
一个 key 的 timeout,只有当该 key 被 SET 或 GETSET 重写后才会被删除。这就意味着,所有的修改操作(但未替换)都不会影响 timeout(如:INCR,DECR等)
通过 PERSIST 可以删除过期时间
如果执行 RENAME,则 key 的过期时间会继承当前 key 的值。比如key1过期时间是200,key2没有过期时间,或者过期时间是其他值。当前还有100秒过期,当执行rename后,如,rename key1 key2,则key2的过期时间就会被key1的100秒来替换掉
FLUSHALL
清空所有缓存数据
FLUSHDB
清空当前DB的缓存数据,因为DB有数值,1,2,3,4等,如果进入的是第1的数值,那么执行flushDB会清空1 的值,而不会影响其他数值
原文链接:http://www.maiziedu.com/wiki/django/command/
Redis常用的基本命令整理