基本命令
命令 | 功能 |
---|---|
select 15 | 切换库到索引为15的库(默认为0号库) |
keys * | 查看当前库中所有的键 |
exists key | 判断key这个键是否存在 |
set key value | 设置一个键为key,value为value的键值对(如果存在就覆盖原先的值) |
setnx key value | 设置一个键为key,value为value的键值对(如果存在了就放弃) |
type key | 获取key的数据类型 |
get key | 获取键名为key的值 |
expire key 10 | 设置key这个键在10秒后过期 |
pexpire key 10 | 设置key这个键在10毫秒后过期 |
ttl key | 查看key还有多久过期(返回单位为秒)(-1表示永不过期,-2表示已经过期,其他值则表示多少秒后过期) |
pttl key | 查看key还有多久过期(返回单位为毫秒) |
expireat key 16543156464645 | 指定key设置过期时间,但指定的是某个时间点秒数的UNIX时间戳 |
pexpireat key 16543156464645 | 指定key设置过期时间,但指定的是某个时间点毫秒数的UNIX时间戳 |
persist key | 移除key的过期时间 |
del key | 删除key |
unlink key | 效果如同删除key,但是为异步操作 |
flushdb | 清空当前库 |
flushall | 清空所有库 |
字符串相关
命令 | 功能 |
---|---|
append key value | 将value追加到key后面 |
strlen key | 返回key的长度 |
incr key | 给“数值”类型key自增1 |
decr key | 给“数值”类型key自减1 |
incrby key 10 | 给“数值”类型key指定自增步长 |
decrby key 10 | 给“数值”类型key指定自减步长 |
incrbyfloat key 1.2 | 给“数值”类型key自增指定的浮点值 |
mset username YiDai age 18 gender man | 同时添加多个键值对 |
mget username age gender | 同时获取多个值 |
msetnx key1 value1 key2 value2 | 同时添加多个键值对,但是只要有其中一个是已存在的,那么全部都不成功 |
getrange username 0 3 | 获取username值的0索引到3索引位置包含0也包含3 |
setrange username 1 heiheihei | 从username的索引1位置开始替换为heiheihei |
setex key 200 value | 添加一个key并设置其在200秒后过期,其值为value |
getset username ZhangYaxin | 将username的值替换为ZhangYaxin并返回原先的值 |
list相关
命令 | 功能 |
---|---|
lpush key value1 value2 value3 | 从左边开始给key这个list添加值 |
rpush key value1 value2 value3 | 从右边开始给key这个list添加值 |
rpop key 1 | 从右边弹出一个值(从链表中删除,如果value为空了,此时键也将被移除) |
lpop key 1 | 从左边弹出一个值(从链表中删除,如果value为空了,此时键也将被移除) |
rpoplpush key1 ke2 | 从key1链表右侧弹出一个值添加到key2链表左侧 |
lrange key 0 2 | 从key中提取索引0到索引3位置的所有元素(包含索引0和索引2) |
lrange key 0 -1 | 从key中提取所有值 |
lindex key 0 | 从key中提取索引0位置的值 |
llen key | 返回key链表的长度 |
linsert key after value newValue | 在key链表中的value这个元素之后插入newValue |
linsert key before value newValue | 在key链表中的value这个元素之前插入newValue |
lrem key 4 test | 从key链表左侧开始删除4个值为test的元素 |
lset key 0 newValue | 替换key链表索引0位置的值为newValue |
blpop key 5 | 从链表左侧弹出一个值,如果没有就一直等待,直到超过超时间(单位为秒) |
brpop key 5 | 从链表右侧弹出一个值,如果没有就一直等待,直到超过超时间(单位为秒) |
set相关
命令 | 功能 |
---|---|
sadd key value1 value2 | 向set中添加一个或多个值,如果set中已经存在将会被忽略 |
smembers key | 取出key这个set中的所有值 |
sismember key value | 判断key这个set中有没有值为value的成员 |
scard key | 返回key这个set中成员的数量 |
srem key value1 value2 | 移除key这个set中的指定成员 |
spop key | 从key这个set中随机弹出一个value(从set中移除) |
srandmember key 2 | 从key这个set中随机取出2个成员(不会从set中移除) |
smove set1 set2 value | 把value这个值从set1中移动到set2中 |
sinter set1 set2 | 返回两个集合的交集 |
sunion set1 set2 | 返回连个集合的并集 |
sdiff set1 set2 | 返回两个集合的差集 |
hash相关
命令 | 功能 |
---|---|
hset user:1001 username daiyi | 向user:1001这个hash中添加filed为username值为daiyi的元素 |
hget user:1001 age | 从user:1001这个hash中获取age的值 |
hexists user:1001 age | 判断user:1001这个hash中有没有age这个filed |
hmset user:1002 username daiyi age 18 gender man | 向user:1002这个hash中同时添加多个映射关系 |
hkeys user:1001 | 返回user:1001这个hash中所有的filed |
hvals user:1001 | 返回user:1001这个hash中所有的value |
hincrby user:1001 age -2 | 将user:1001这个hash中age的值自增-2(减2) |
hsetnx user:1001 password 123456 | 当user:1001这个hash中不存在password时添加一个名为password,value为123456的元素 |
zset相关
命令 | 功能 |
---|---|
zadd key 1 java 2 python 3 php 4 go | 向key这个zset中添加了4个成员并申明了其score值 |
zrange key 0 2 | 返回key这个zset中索引0到索引2位置的成员(包含索引0也包含索引2)带withscores 可以返回将score值一起返回 |
zrangebyscore key 1 2 | 返回key这个zset中score值介于(也包含)1-2之间的所有成员 |
zrevrange key 0 1 | 返回key这个zset中索引0到索引1位置的成员,并且反向倒叙排列(根据score) |
zrevrangebyscore 1 2 | 返回key这个zset中score值介于(也包含)1-2之间的所有成员,并且反向倒叙排列(根据score) |
zincrby key 5 java | 给key这个zset中的java成员的score量自增2 |
zrem key java | 从key这个zset中移除java这个成员 |
zcount key 1 2 | 统计key这个zset中score值介于(也包含)1-2之间的所有成员的总数 |
zrank key java | 返回java这个成员在key这个zset中的排名(从0开始) |