以下是Redis中常用的命令集合,供大家查询。
分类 | 命令 | 功能 |
Key:键命令用于管理 redis 的键。 | set key value | 创建key-value |
get key | 获取key对应的value | |
del key | 删除key | |
keys * | 获取当前库中所有的key信息 | |
exists key | 检查key是否存在 | |
expire key seconds | 为key设置过期时间,时间单位为:秒 | |
expireat key timestamp | 为key设置过期时间,单位为:时间戳 | |
persist key | 移除 key 的过期时间,key 将持久保持(返回-1) | |
dump key | 序列化给定key ,并返回被序列化的值 | |
move key db | 将当前数据库的 key 移动到给定的数据库 db 当中 | |
pttl key | 以毫秒为单位返回 key 的剩余的过期时间 | |
ttl key | 以秒为单位返回 key 的剩余的过期时间 | |
rename key newkey | 修改key的名称 | |
renamenx key newkey | 仅当 newkey 不存在时,将 key 改名为 newkey | |
type key | 返回 key 所储存的值的类型 | |
String:字符串数据类型的相关命令用于管理 redis 字符串值。 | getrange key start end | 返回 key 中字符串值的子字符(start 和 end 为value索引值) |
getset key value | 将给定 key 的值设为 value ,并返回 key 的旧值(old value,没有就返回null) | |
setnx key value | 只有在 key 不存在时设置 key 的值 | |
setex key seconds value | 将值 value 关联到 key ,并将 key 的过期时间设为 seconds (以秒为单位) | |
strlen key | 返回 key 所储存的字符串值的长度 | |
incr key | 将 key 中储存的数字值增一 | |
decr key | 将 key 中储存的数字值减一 | |
append key value | 如果 key 已经存在并且是一个字符串, append 命令将指定的 value 追加到该 key 原来值(value)的末尾,并返回新字符串的长度 | |
Hash:一个 string 类型的 field(字段) 和 value(值) 的映射表,hash 特别适合用于存储对象,每个 hash 可以存储 2^32 - 1 键值对。 | hmset key_name filed1 value1 filed2 value2 ... | 同时将多个 field-value (字段-值)对设置到哈希表key_name中 |
hset key_name filed value | 将哈希表 key_name 中的字段 field 的值设为 value(可新增和修改) | |
hsetnx key_name filed value | 只有在字段 field 不存在时,设置哈希表key_name字段的值 | |
hkeys key_name | 获取所有哈希表key_name中的字段 | |
hvals key_name | 获取所有哈希表key_name中的值 | |
hget key_name filed hgetall key_name |
获取存储在哈希表key_name中指定字段filed的值; 查询hash所有中的 key value |
|
hdel key_name filed1 ... | 删除一个或多个哈希表字段 | |
hexists key_name filed | 查看哈希表 key_name 中,指定的字段filed是否存在 | |
hlen key_name | 获取哈希表key_name中字段的数量 | |
List:列表是简单的字符串列表,按照插入顺序排序,每个 列表可以存储 2^32 - 1 元素。 | lpush key value1 value2 ... | 将一个或多个值插入到列表头部 |
rpush key value1 value2 ... | 在列表中添加一个或多个值到列表尾部 | |
lset key index value | 通过索引index设置(修改)列表元素key的值,索引越界报错ERR index out of range | |
lindex key index | 通过索引获取列表中的元素 | |
lrange key start end | 获取列表指定范围内的元素(start end 为索引下标) | |
llen key | 获取列表长度 | |
lpop key | 移出并获取列表的第一个元素(返回值为被移除的value) | |
rpop key | 移出并获取列表的末尾一个元素(返回值为被移除的value) | |
ltrim key start end | 对一个列表进行修剪trim,就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除(start end 为索引下标) | |
lrem key count value | 根据参数 count 的值,移除列表中与参数 count 相等的元素 count > 0 : 从表头开始向表尾搜索,移除与 value 相等的元素,数量为 count count < 0 : 从表尾开始向表头搜索,移除与 value 相等的元素,数量为 count 的绝对值 count = 0 : 移除表中所有与 value 相等的值 |
|
Set:String 类型的无序集合。集合成员是唯一的,集合中不能出现重复的数据。集合对象的编码可以是 intset 或者 hashtable 。集合中最大的成员数为 2^32 - 1 。 | sadd key member1 member2 ... | 向集合添加一个或多个成员 |
scard key | 获取集合的成员数 | |
sdiff key1 key2 ... | 返回第一个集合与其他集合之间的差集 | |
sdiffstore destination key1 key2 ... | 返回给定所有集合的差集并存储在 destination 中 | |
sinter key1 key2 ... | 返回第一个集合与其他集合之间的交集 | |
sinterstore destination key1 key2 ... | 返回给定所有集合的交集并存储在 destination 中 | |
sunion key1 key2 ... | 返回所有给定集合的并集 | |
sunionstore destination key1 key2 ... | 返回所有给定集合的并集并存储在 destination 中 | |
sismember key member | 判断 member 元素是否是集合 key 的成员 | |
smembers key | 返回集合中的所有成员 | |
spop key | 移除并返回集合中的一个随机元素 | |
srem key member1 member2 ... | 移除集合中一个或多个成员 | |
Sorted Set:String类型的有序集合,成员唯一不可重复。每个元素都会关联一个 double 类型的分数,redis通过分数来为集合中的成员进行从小到大的排序。有序集合的成员是唯一的,但分数(score)却可以重复。 集合中最大的成员数为 2^32 - 1 。 | sadd key score1 member1 score2 member2 ... | 向有序集合添加一个或多个成员,或者更新已存在成员的分数 |
zcard key | 获取有序集合的成员数 | |
zcount key min max | 计算在有序集合中指定区间分数的成员数 | |
zrange key start end | 通过索引区间返回有序集合指定区间内的成员(start end 为索引下标) | |
zrank key member | 返回有序集合中指定成员的索引 | |
zscore key member | 返回有序集中,成员的分数值 | |
zrevrank key member | 返回有序集合中指定成员的排名,有序集成员按分数值递减(从大到小)排序,可以理解为先对有序集合排序,然后返回排序后,member所在的排名 | |
zrem key member1 member2 ... | 移除有序集合中的一个或多个成员 |
PS:所有类型的键都可以用 del key 这个命令来删除,别怀疑自己(这句话敲给某朋友看的=.=)