--mget:获得多个key的值
--mset:同时设置多个键值对
--msetnx:和mset一样 ,不同的是,如果设置的key有相同的,该行命令会执行失败。而mset同样和set一致,如果遇到相同key会覆盖前面设置的
--getrange
--setrange
--setex
--getset key value:新value值换旧值,返回的是旧值
Redis列表List
单键多值
Redis列表是简单的字符串列表,按照插入顺序排序,可实现双向添加。底层实际是双向链表,对两端的操作性高,通过索引下标的操作,中间的节点性能较差
在列表元素较少的情况下会使用一块连续的内存存储,此结构时ziplist,即压缩列表。将所有元素紧挨在一起存储。当数据较多时会改为quicklist(即将链表和压缩链表结合起来)
--lpush
--lrange
--rpush
--lpop/rpop
键在值在,值光键亡
--rpoplpush
--lindex
--llen
--linsert
--lrem
--lset
Redis集合Set
类似List,最大区别是Set自动排重(无序,不可重复),数据结构时dict字典,字典由哈希表实现
--sadd
--smembers
--sismember
--scard
--srem
--spop
--srandmember
--smove
--sinter
--sunion
--sdiff
Redis集合hash
Redis hash是一个string类型的field和value的映射表,特别适合存储对象,类似Java中的Map
在列表元素较少的情况下会使用一块连续的内存存储,此结构时ziplist,即压缩列表。将所有元素紧挨在一起存储。当数据较多时会改为HashTable
--hset
--hget
--hmset
--hexists
--hkeys
--hvals
--hincrby
--hsetnx
Redis集合Zset
Redis有序集合zset与普通集合set非常相似,是没有重复元素的字符串集合
最大的不同时有序集合的每个成员都关联了一个评分,评分被用来按照从最低分到最高分的方式排序集合中的成员,集合中的成员是是唯一的,但是评分可以重复
底层数据结构:2
1.hash ,hash的作用就是关联元素value和权重score,保障元素value的唯一性,可以通过元素value找到响应的score值
2.跳跃表,目的在于给元素value排序,根据score的范围获取元素列表
--zadd
--zrange
--zrangebyscore key minmax [withscores][limit offset count]:返回有续集中,所有score介于min和max之间的值,按从小到大
--zrevrangebyscore key maxmin[withscores][limit offset count]:返回所有score介于min和max之间的值,按大到小排序
--zincrby
--zrem
--zcount
--zrank



