键(key):
keys *
exists key的名字,判断某个key是否存在
move key db 移除当前库
expire key秒,给当前key设置过期时间
ttl key 查看当前Key还有多少秒过期,-1表示永不过期,-2表示已过期
del key 删除key
type key 查看key 是什么类型
字符串(String):
set/del/append/get/strlen,增删改查,append在原先的值后面追加值,strlen获取值的长度
incr/decr/incrby/decrby,加减,只能操作数字,incr key加一,incrby k1 num加num
getrange/setrange
setex,setex k1 10 v1 ,set键为k1,值为v1 ,10秒后过期
setnx ,setnx k1 v1 ,如果k1存在,则无效,不存在才会set
mset,批量set ,mset k1 v1 k2 v2
mget ,批量获取,mget k1 k2
msetnx ,msetnx k1 v1 k2 v2,批量不存在set,若第k1存在,则 k2也不会不成功
getset ,先get再set,getset k1 vv1
列表(List):
单值多value,链表形式的,两边都可以存,只有一边可以取
lpush/rpush/lrange,lpush从左边存入,rpush从右边存入,lrange从一个列表中获取各种元素
lpop/rpop,lpop删除栈顶,rpop删除栈底
lindex,lindex list01 index,获取该下标的元素(从上到下),从零开始
llen,获取长度
lrem ,lrem list01 1 2 ,从list01中删除一个2
ltrim ,截取指定范围的值后再赋值给key
rpoplpush,rpoplpush list01 list02,将01栈底的值转移给02的栈顶
lset,lset list01 1 x,把01该下标的值赋值为x
linsert list before/after x java,在list中x的前面或者后面加一个java
集合(Set),跟List 类似,但不允许重复
sadd ,sadd set 1 1 2,插入,只能插入1,2,不会插入重复的值
smembers/sismember,smembers set,取出所有值,sismember set num,若num不存在返回0,存在返回1
scard,获取集合元素个数
srem set num,删除集合中为num的所有记录
srandmember set 3 ,从集合中随机取3个值
spop set ,随机取一个出栈
smove set01 set02 num,将01中为num的值转移给02
sdiff(差集),sdiff set01 set02 ,01中有,02中没有的
sinter(交集),sinter set01 set02,都有的
sunion(并集),sunion set01 set02,并集
哈希(Hash),KV模式不变,但V是一个键值对
hset/hget/del,hset user name zhangsan
hmset/hmget/hgetall,hgetall直接获取key 里面的所有
hlen,获取元素个数
hexists,hexists user name ,若存在返回1,不存在返回0
hkeys/hvals,获取所有的键,所有的值
hincrby/hincrbyfloat,加整数,加浮点数
hsetnx
Zset(sorted set)
zadd/zrange
zrangebyscore zset01 60 80,取60到80之间的
zrem zset01 v4,删除分数对应的value
zcard,元素个数
zcount zset 60 80,统计60到80分之间的元素个数
zscore zset value,获取value的分数
zrevrank zset value,逆序获取下标值
zrevrange zset 0 -1,逆序获取
zrevrangebyscore zset 80 60 ,返回一个成员范围的有序集合,以socre排序从高到低