前言
该文档是为了让自己熟悉和以后方便查看Redis的常用命令!
常用命令
Key
String
命令 | 说明 |
---|
get key | 获取key的值 |
mget key [key…] | 返回所有指定的key的value,对于不存在或者不对应的String的key,都会返回特殊值nil。 |
set key value | 设置key对应的value值 |
setnx key value | 设置key对应的value值,仅当key不存在的时候 |
mset key value [key value…] | 同时设置多个key对应的value值,会覆盖已经存在的 |
msetnx key value [key value…] | 同时设置多个不存在的key,如果存在,直接不执行 |
setex key seconds value | 设置key-value的过期时间,单位:秒 |
psetex key milliseconds value | 设置key-value的过期时间,单位:毫秒 |
strlen key | 获取字符串的长度 |
decr key | 整数减1 |
decrby key decrement | 将key对应的数字减decrement |
incr key | 整数加1 |
incrby key increment | 将key对应的数字加increment |
incybyfloat key increment | 通过指定浮点数key来增长浮点数(存放于string中)的值. 当键不存在时,先将其值设为0再操作 |
getset key value | 设置key的值,并且返回设置之前的值 |
append key value | 在原来基础上追加值 |
getrange key start end | 返回key对应的字符串value的子串,这个子串是由start和end位移决定的(两者都在string内)。可以用负的位移来表示从string尾部开始数的下标。所以-1就是最后一个字符,-2就是倒数第二个,以此类推 |
List
命令 | 说明 |
---|
lrange key start end | 获取下表为start和end范围中的值 |
lrem key count value | 从存于 key 的列表里移除前 count 次出现的值为 value 的元素。count参数:1.count > 0: 从头往尾移除值为 value 的元素;2.count < 0: 从尾往头移除值为 value 的元素;3.count = 0: 移除所有值为 value 的元素。 |
lset key index value | 设置key对应list的下表为index的值 |
llen key | 获取key对应list的长度 |
lpop key | 移除key对应list的第一个元素 |
rpop key | 移除key对应list的最后一个元素 |
lpush key value[value…] | 插入到头部,从左往右 |
lpushx key value | 与lpush不同的是,当不存在key的时候,不做任何操作 |
rpush key value[value…] | 插入到尾部,从右往左 |
rpushx key value | 与rpush不同的是,当不存在key的适合,不做任何操作 |
rpoplpush source destination | 移除储存于source的最后一个元素放在destination的第一个元素 |
lindex key index | 返回列表中的索引所对应的值。下标是从0开始的,以此类推,负数索引则从列表的尾部开始索引的 |
linsert key before|after pivot value | 把value值插入存在于key的列表中的基准值pivot的前面或者后面,返回插入后的长度,如果当pivot找不到时返回-1 |
LTRIM key start stop | 修剪存在于key的list |
BLPOP key [key …] timeout | 它是命令 LPOP 的阻塞版本,这是因为当给定列表内没有任何元素可供弹出的时候, 连接将被 BLPOP 命令阻塞。 当给定多个 key 参数时,按参数 key 的先后顺序依次检查各个列表,弹出第一个非空列表的头元素 |
BRPOP key [key …] timeout | 它是 RPOP 的阻塞版本,因为这个命令会在给定list无法弹出任何元素的时候阻塞连接。 该命令会按照给出的 key 顺序查看 list,并在找到的第一个非空 list 的尾部弹出一个元素。 |
BRPOPLPUSH source destination timeout | BRPOPLPUSH 是 RPOPLPUSH 的阻塞版本。 当 source 包含元素的时候,这个命令表现得跟 RPOPLPUSH 一模一样。 当 source 是空的时候,Redis将会阻塞这个连接,直到另一个客户端 push 元素进入或者达到 timeout 时限。 timeout 为 0 能用于无限期阻塞客户端。 |
Hash
命令 | 说明 |
---|
hget key field | 获取hash中的字段的值 |
hgetall key | 获取所有的字段和值 |
hkeys key | 获取所有的字段 |
hlen key | 获取所有的字段数量 |
hstrlen key field | 获取对应的字段值的长度 |
hmget key field[field…] | 获取对应字段的值 |
hvals keys | 获取所有的值 |
hexists key field | 判断hash里面的field是否存在 |
hset key field value | 设置key指定的hash中指定的字段的值,如果存在直接盖重写 |
hmset key field value[field value…] | 与hset不同的是,可以增加多个值 |
hsetnx key field value | 只有当不存在的field的时候,才生效 |
hdel key field[field…] | 删除一个或者多个对应的field的值 |
hincrby key increment | 指定的字段增加数值,如果不存在直接创建 |
hincrbyfloat key increment | 指定的字段增加浮点类型的数值,倮不存在直接创建 |
HSCAN key cursor [MATCH pattern] [COUNT count] | 迭代hasn中的元素 |
Set
命令 | 说明 |
---|
smembers key | 返回集合中的所有元素 |
sadd key member[member…] | 插入一个或者多个member,如果已经存在,不会在插入 |
scard key | 返回集合中的元素个数 |
srem key member[member…] | 删除集合中的存在的member元素或者多个元素 |
sismember key member | 判断member是否存在与key对应的集合中,如果存在,返回1,否则返回0 |
smove source destination member | 将source中的member元素移除,并插入到destination的集合中,如果source不存在,则不做任何操作 |
spop key [sount] | 从储存在key的集中随机移除一个或者多个元素 |
sdiff key[key …] | 返回一个集合与给定集合的差集元素 |
sdiffstore destination key[key…] | 与sdiff不同的是,将结果存入destination的集合中,如果存在,直接覆盖 |
sinter key[key…] | 返回集合之间的交集元素 |
sinterstore destination key[key…] | 与sinter不同的是,将结果存入destination的集合中,如果存在,直接覆盖 |
sunion key[key…] | 返回所有的并集元素 |
sunionstore destination key[key…] | 与sunion不同的是,将结果存入destination的集合中,如果存在,直接覆盖 |
SSCAN key cursor [MATCH pattern] [COUNT count] | 迭代set中的元素 |
SRANDMEMBER key [count] | 仅提供key参数,那么随机返回key集合中的一个元素。Redis 2.6开始,可以接受 count 参数,如果count是整数且小于元素的个数,返回含有 count 个不同的元素的数组,如果count是个整数且大于集合中元素的个数时,仅返回整个集合的所有元素,当count是负数,则会返回一个包含count的绝对值的个数元素的数组,如果count的绝对值大于元素的个数,则返回的结果集里会出现一个元素出现多次的情况. |
Sorted Set
Server
内存相关的:http://www.redis.cn/commands.html#在搜索框中搜索输入memory
链接地址
http://www.redis.cn/commands.html
说明
服务器相关的命令没有整理!