3、Redis常用的5+1(5个数据类型和1个key)
一、键(key)
(1) keys * //列出当前数据库中所有的key
(2) exists key_name //判断某个key是否存在
(3) move key_name dbId //把当前库中的key/value移到另一个库中
(4) expire key_value timeLong //给key_value设置过期时间
(5) ttl(time to live) key_value //查看还有多少秒过期,-1:表示永不过期,-2:表示已经过期
(6) type key_value //查看key的类型
二、字符串(String)
(1) set/get/del/append/strlen //设置字符串/获取value/给字符串追加/求字符串长度
(2) incr/decr/incrby/decrby 加1/减1/加多个/减多个 注意:value必须可以转换成整数
(3) getrange //获取指定区间范围的值,类似于between...and的关系 注意:从0到-1表示全部
(4) setrange //设置指定区间范围内的值,格式是:setrange key_value 具体值
(5) setex(set with expire)键秒值/setnx(set if not exist)
(6) mset/mget/msetnx more set/more get/more setnx
注意:
(1)string是动态字符串,字符串长度小于1M时,加倍扩容,比如4个字节、8个字节、16.....,当超过1M后,每次扩容1M,字符串最大长度512M。
string存储结构
(1)字符串长度小于20且能转成整形,则使用int存储;
(2)字符串长度小于等于44,则使用embstr存储;
(3)字符串长度大于44,则使用raw存储;
三、列表(List)
(1) lpush/rpush/lrange //左边插入/右边插入/范围查询
(2) lpop/rpop //左边删除/右边删除
(3) lindex //按照索引下标获得元素(从上到下)
(4) llen //计算数组长度
(5) lrem key //删除N个value
(6) ltrim key //开始index结束index,截取指定范围的值后再赋值给key
(7) rpoplpush 源列表 目标列表 //移除源列表的最右边,添加到目标列表的最左边
(8) lset key_list index value //索引从左边开始,把ley_lsit下标为个inde的值设置为value
(9) linsert key before/after 值1 值2 //在值1前面或者后面插入值2
四、集合(Set)
(1) sadd/smembers/sismember //向集合添加一个或多个成员
(2) scard //获取集合里面的元素个数
(3) srem key value //删除集合中的元素
(4) srandmember key n //从集合张随机出n个数
(5) spop key //随机从集合中去除一个值
(6) smove key1 key2 key1中的某个值 //作用是将key1里的某个值赋值给key2
(7) 数学集合类:
1)sdiff //在第一个set里面而不在后面任何一个set里面的项
2)sinter //所有set的交集
3)sunion //所有set集合的并集
五、哈希(Hash)
(1) hset/hget/hmset/hmget/hgetall/hdel //设置哈希表中某个字段的值/获某个字段取值/设置多个字段的值
(2) hlen key //获取哈希表中字段的数量
(3) hexiste key //查看哈希表key中,指定的字段是否存在。
(4) hkeys/hvals //查看所有哈希表中的字段/查看所有哈希表中字段对应的值
(5) hincrby/hincrbyfloat //给哈希表中某个字段加个固定的值
(6) hsetnx //如果哈希表中不存在某个字段,则添加
六、有序集合(Zset、sorted set)
在set基础上,加一个score值,之前set是k1 v1 v2 v3,现在zset是k1 score1 v1 score2 v2 score3 v3
(1) zadd/zrange //向有序集合添加一个或多个成员,或者更新已存在的成员的分数/通过索引区间返回有序集合指定区间内的成员
(2) zrangebycore key 开始score 结束score //查看区间集合
注意:(1)后面加withscores,则带分数查询。(2)后面加( ,则表示不包含。(3)加limit作用是返回限制。
(3) zrem key 某个score下对应的value值 //移除有序集合中的一个或者多个成员。
(4) zcard/zcount key score区间 //获取score区间的个数
(5) zrank key values值 //获取某个值的下标
(6) zscore key 对用的值 //获取分数
(7) zreverank key values值 //作用是逆序获得下标的值
(8) zrevrange
(9) zrevrangebyscore key
111