结合Redis的5种数据结构可以更好的记忆Redis中一些常用的命令
关于Key操作命令
命令 | 作用 |
---|---|
exists key | 判断key是否存在数据库中,如果存在返回1,不存在返回0。 |
exists key [key key … ] | 返回的是存在key的个数 |
move key index | 移动指定key到编号为index的数据库 |
ttl key | 查看指定key的最大生存时间。返回-1说明key没有设置最大生存时间,返回-2说明key不存在。 |
expire key seconds | 设置key最大生存时间,单位为秒。 |
type key | 查看指定key的数据类型 |
rename oldkey newkey | 更改key的值 |
del key [key key key … ] | 删除一个或多个指定的key.返回值是实际删除key的个数 |
关于string类型数据操作命令
命令 | 作用 |
---|---|
set key value | 将String类型的数据设置到redis中,如果key存在则把以前的value覆盖掉。 |
get key | 从Redis中获取String类型的数据 |
append key value | 返回追加的字符串长度,如果key不存在则创建key并且设置value |
strlen key | 获取字符串数据的长度。即value的长度 |
incr key | 将指定的key进行加1运算,返回值是运算结果。如果key不存在,首先设置一个key,值初始化为0,然后进行incr运算。要求key所表示的value必须是数值,否则报错 |
decr key | 返回减1运算的结果。如果key不存在,首先设置一个key,值初始化为0,然后进行decr运算。要求key所表示的value必须是数值,否则报错 |
incrby key offset | 返回加offset的运算结果,如果key不存在,首先设置一个key,值初始化为0,然后进行incrby运算。要求key所表示的value必须是数值,否则报错 |
decrby key offset | 返回减offset的运算结果,如果key不存在,首先设置一个key,值初始化为0,然后进行incrby运算。要求key所表示的value必须是数值,否则报错 |
getrange startIndex endIndex | 截取startIndex到endIndex的子字符串。下标从0开始。下标可以是负数,负下标表示从右至左开始,从-1开始。 |
setrange key startIndex value | 用value覆盖从下标为startIndex开始的子字符串。能覆盖多少个字符就覆盖多少个字符 |
setex key seconds value | 设置字符串数据的同时,设置它的最大生命周期。单位为秒 |
setnx key value | 当key不存在的时候,设置key和value到Redis中, |
mset key1 value1 key2 value2 … | 批量设置key和value到Redis中 |
mget key1 value1 key2 value2 | 批量获取key和value |
msetnx key1 value1 key2 valeu2 | 当所有的key不存在的时候将key和value设置到Redis中,只有有一个key存在则设置失败 |
关于list类型数据操作命令
命令 | 作用 |
---|---|
lpush key value [vlaue value … ] | 将一个或者多个值依次插入表头 |
lrange key startIndex endIndex | 获取指定列表中指定区间的元素,数据结构和栈类似,先进后出 |
rpush key value [value value … ] | 将一个或者多个值依次插入表尾 |
lpop key | 从指定列表中获取并移除表头元素 |
rpop key | 从指定列表中获取并移除表尾元素 |
lrem key count value | 根据count值移除指定列表中根value相等的数据,count>0,从列表的左侧移除count个跟value相等的数据。count<0,从列表的右侧移除count个跟value相等的数据,count=0,从列表中移除所有count个跟value相等的数据 |
lindex key index | 获取指定列表中指定下标的元素 |
llen key | 获取指定列表的长度 |
关于集合set类型的数据操作命令
命令 | 作用 |
---|---|
sadd key value [value value … ] | 将一个或多个元素添加到结合中,如果元素已经存在则忽略,返回成功加入的元素 |
smembers key | 获取指定集合中的所有元素 |
sismember key value | 判断指定元素在指定集合中是否存在,如果存在返回1,不存在返回0 |
scard key | 获取指定集合的长度 |
srem key value [value vlaue …] | 移除指定集合中一个或者多个元素,不存在元素则忽略,返回成功移除的元素个数 |
srandmember key [count] | 随机获取指定集合中的一个元素或者多个。count>0,随机获取的多个元素之间不能重复。count<0,随机获取多个元素之间可能重复。 |
spop key [count] | 随机移除指定集合中的一个或者多个元素 |
smove key1 key2 value1 | 将指定集合中的指定元素移动到另一个集合中,value1是集合key1中的元素 |
sdiff key1 key2 [key key key … ] | 获取key1集合中有,其他集合中没有的元素。 |
sinter key1 key2 [key key key …] | 获取集合中都有的元素。即交集 |
sunion key1 key2 [key key …] | 获取指定所有集合中的元素 |
关于Hash类型数据操作命令
命令 | 作用 |
---|---|
hset key field1 value1 [field value …] | 将一个或者多个field-value对设置到哈希表中,如果key,field已经存在,则把value覆盖 |
hget key field | 获取指定哈希表中指定的field的value |
hmset key field1 value1 [field value …] | 和hset的功能相同 |
hmget key field1 field2 … | 批量获取指定哈希表中的field的value |
hgetall key | 获取指定哈希表中的field-value |
hdel key field1 [field2 field2 …] | 从指定哈希表中删除一个或多个field |
hlen key | 获取指定哈希表中field的个数 |
hexists key field | 判断指定哈希表中是否存在一个field |
hkeys key | 获取指定哈希表中所有的field列表 |
hvals key | 获取指定哈希表中所有的value列表 |
hincrby key field int | 对指定哈希表中指定的field值整数进行加法运算 |
hincrbyfloat key field float | 对指定哈希表中指定的field值浮点数进行加法运算 |
hsetnx key field value | 当key-field不存在时设置一个field-value到哈希表中 |
关于有序集合类型zset(sorted set)操作命令
命令 | 作用 |
---|---|
zadd key score member [score member score member …] | 将一个或者多个member及其score加入到有序集合中 |
zrange key startIndex endIndex [withscores] | 获取指定有序集合中指定下标区域的元素,withscores是获取指定元素时显示对应的分数 |
zrangebyscore key min max [withscores] | 获取指定有序集合中指定分数区间的元素,withscores是获取指定元素时显示对应的分数 |
zrem key member [member …] | 删除指定有序集合中一个或者多个元素 |
zcard key | 获取指定有序集合中所有的元素的个数 |
zrank key member | 获取指定有序集合中指定元素的排名(排名从0开始),按照分数从小到大排列 |
zcount key min max | 获取指定有序集合中分数在指定区间内的元素个数 |
zscore key member | 获取指定集合中指定元素的分数 |
zrevrank key member | 获取指定集合中指定元素的排名(按照分数从大到小排列) |