Redis学习(二)常用命令总结

库常用命令
命令说明
select db切换库
flushDB清除当前库中所有的key
flushAll清除所有库中的key
key常用命令
命令说明
keys *查看当前库中所有的key
del key …删除一个或者多个key
exists key判断某个key是否存在,若存在为1,不存在为0
expire key设置一个已存在的key的超时时间 单位秒
pexpire key设置一个已存在的key的超时时间 单位毫秒
pexpireat key设置一个已存在的key的超时时间 单位时间戳
move key db将一个key 从当前库移到别的库中
ttl key获取一个key的剩余的存活时间 单位秒 返回值如果大于等于0 代表剩余时间,如果为-1 代表永不过期,如果为-2,代表当前的key不存在。
pttl key获取一个key的剩余存活时间 单位毫秒 返回值如果大于等于0 代表剩余时间,如果为-1 代表永不过期,如果为-2,代表当前的key不存在。
randomkey随机返回一个key
rename keyold keynew对key 进行重命名
type key返回key对应 value的累型
String类型常用命令
命令说明
set key value设置key指定key的值
get key获取指定key的值
strlen key获取key的长度
append key val在key所对应的原有的value内容基础上追加内容(val)
incr key将key存储的数字值增一,前提是value值是一个整数,如果key不存在,默认value为0,增一
decr key将key存储的数字值减一,前提是value值是一个整数,如果key不存在,默认value为0,减一
incrby key val将key存储的内容加上指定的val
decrby key val将key存储的内容减去指定的val
incrbyfloat key val将key存储的内容加上指定的val 为浮点数
setrange key start end修改value的部分内容,根据偏移量进行修改
getrange key start end拿到value的部分内容,根据偏移量,并不会对原有key的value做修改
getset key value修改key对应value的值并返回之前的旧值
mget key…key批量获取值
mset key value …key value批量设置值
setex key设置key value,前提是这个key不存在,同时设置过期时间单位秒
psetex和setex相似,过期时间为毫秒
setnx只有当key不存在时才能设置key的值,当key存在时不做任何操作
msetnx批量设置,前提key不存在,只要其中一个key存在就不做任何操作
List类型常用命令
命令说明
lpush key value …value向队列头部添加一个或多个元素
lpushx key value … value向队列头部添加一个或多个元素,必须要保证这个队列(key)存在
rpush key value … value像队列尾部添加一个或多个元素
rpushx key value … value像列表尾部添加一个或多个元素,必须要保证这个队列(key)存在
lpop key移出并获取队列头部的元素 ,并返回
rpop key移出队列尾部的元素,并返回
llen key获取列表的长度
lrange key start stop获取列表中指定范围的元素 ,当起始值为 0,stop为-1时,相当于查所有
lset key index valuenew通过索引修改值,但前提是这个索引必须存在,如果列表的长度是5,索引就是0-4 如果设置 lset key 5 value,那就会索引越界出错,并不会帮我们创建一个value.
lrem key count value移出列表中重复元素,count代表移除的个数,value代表移除的值,从队列头开始移除
lindex index获取列表中对应下标的值
ltrim key start stop截取列表中对应的元素,从索引 start 到索引stop
linsert key before value valuenew在列表中value的前面插入一个新值valuenew
linsert key after value valuenew在列表中value的后面插入一个新值valuenew
blpoplpop的阻塞版
brpoprpop的阻塞版
rpoplpush移出一个列表中的最后一个元素,并将该元素添加到另一个列表的头部
bpoplpushrpoplpush的阻塞版
———————————————
set类型常用命令
命令描述
sadd key member1 [member2]向集合添加一个或多个元素,如果集合的key不存在,则会新建,如果添加的元素在集合中已存在,则忽略。相当于Set去重。
scard key获取集合中元素的数量,如果集合的key不存在,则返回0
sdiff key1 [key2]返回给定所有集合的差集的元素 比如 key1 a,b,c key2 c sdiff key1 key2 返回的就是a,b
sinter key1 [key2]返回给定所有集合的交集
sismember key member判断 member 元素是否是集合 key 的成员,如果是则返回1,如果不是或者这个key不存在则返回0
smembers key返回集合中的所有成员,和sinter key的效果是一样的
srem key member1 [member2]移除集合中一个或多个成员,如果该成员不存在则返回0,如果集合不存在,则忽略
sunion key1 [key2]返回所有给定集合的并集
smove key1 key2 value将一个集合中的内容移动到另一个集合中,如果元素移动成功,则返回1,如果原集合中不包含这个元素则返回0
srandmember key count随机返回集合中的元素,可以跟个数
spop key count随机弹出移除一个或者多个元素,count代表随机移除的个数
sscan key cursor match pattern count integer迭代key对应的一个set集合中的所有的元素,可以根据模式匹配 cursor是游标的意思,比如 sscan key 0 match a* count 5 就代表找到key对应的集合中以a开头的5个元素

更多关于sscan的命令http://www.redis.cn/commands/scan.html

Zset类型常用命令
命令说明
zadd key nx|xx ch score1 member1 [score2 member2]向有序集合添加一个或多个成员,或者更新已存在成员的分数,集合中的元素会按照score从小到大的顺序排序,如果分数相同,则会根据value的字典顺序决定先后。zadd 在3.0.2版本之后支持在key后面加入参数 ,比如 nx/xx nx就表示只允许添加不允许修改(权重),而xx则表示只允许修改不允许添加(新的成员) CH: 修改返回值为发生变化的成员总数。 INCR: 当ZADD指定这个选项时,成员的操作就等同ZINCRBY命令,对成员的分数进行递增操作。
zcard key获取有序集合的成员数,当key不存在时,返回0
zcount key min max计算在有序集合中指定区间分数的成员数,zcount key -inf +inf 拿到的就是全部的 inf即infinite 无穷的意思
zincryby key increment membe有序集合中对指定成员的分数加上增量,当然increment为负数时,相当于降低权重 ,如果成员不存在,就会向该集合中添加一个成员,该成员的分数就是increment,如果key不存在的话,就会创建一个集合,并向这个集合中添加member元素,本质上调用的应该还是zadd
zinterstore destination numkeys key [key1 ]计算给定的一个或多个有序集的交集并将结果集存储在新的有序集合 key 中,当然在key后面可以加上weights参数,代表权重因数,默认为1,会将整合之前key里面的每一个value的score乘上这个权重因数,然后再进行取交集,aggregate参数是指定聚合方式,默认是sum 也可以指定为max/min等
zrange key start stop[WITHSCORES] [LIMIT]通过索引返回有序集合指定区间内的成员
zrevrange key start stop[WITHSCORES] [LIMIT]通过索引返回有序集合指定区间内的成员,其中成员的位置按分数递减(从大到小)来排列。具有相同分数值的成员按字典序的逆序(reverse lexicographical order)排列。
zrangebylex key min max[WITHSCORES] [LIMIT]这里的min、max指的是字典顺序的符号,当然前提是要保证score必须要一致,zrangebylex key - + 则代表所有的元素按字典顺序排序,zrangebylex key [a [z 默认min和max前面必须以[开头。
zrank key member返回有序集合中指定成员的索引,如果当前成员不在该key对应的集合中,则返回 nil
zrem key member [member …]移除有序集合中的一个或多个成员,当成员不存在时,忽略
zremrangebyscore key min max移除有序集合中给定的分数区间的所有成员
zscore key member返回有序集中,成员的分数值。如果成员元素不是有序集 key 的成员,或 key 不存在,返回 nil
zrevrangebyscore key max min [WITHSCORES]返回有序集中指定分数区间内的成员,分数从高到低排序,具有相同分数的成员,按字典的逆序排序
zunionstore destination numkeys key [key …]计算给定的一个或多个有序集的并集,并存储在新的 key 中,默认情况下,结果集中某个成员的分数值是所有给定集下该成员分数值之和 。
Hash类型常用命令
命令说明
hset key field value设置哈希表key(对象)中field(属性)的value值
hget key获取哈希表key中field(属性)的value值
hmset key [field value…]批量设置key中的field
hmget key field[…]批量获取key中的field的值
hdel key field[…]批量删除key中的field
hsetnx key field value设置key中field的值,如果已经存在field,就忽略操作(无效)
hvals key获取key中所有field的值
hkeys pattern批量获取字段
hgetall key获取key中所有的field和值
hexists key field判断key中field是否存在
hincrby key field val给key中的field增加特定的val值
hincrbyfloat key field val增加float类型的值
hlen key判断key中field的个数(对象中有几个属性)
hstrlen key field获取key中某个field的值的长度
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值