redis的五种基本数据类型以及基本操作
redis⽀持5种数据类型:【字符串:String】、【散列(哈希):Hash】、【列表:List】、【集合:Set】、【有序集合:SortedSet(zset)】,下⾯分别介绍5中数据类型的常⽤命令以及应⽤场景。
redis支持的五种数据类型1、String类型
(01)赋值:set key value
(02)取值:get key
(03)先获取旧值、再设置新值:getset key value
(04)多个赋值:mset key1 value1 key2 value2 key3 value3 …
(05)多个取值:mget key1 key2 key3 …
(06)删除key:del key
(07)使值递增1:incr
(08)使值递增n:incrby key n
(09)使值递减1:decr
(10)使值递减n:decrby key n
(11)使值尾部追加:append key value
(12)获取值的长度:strlen key
应⽤场景:分布式数据库利⽤⾃增做主键,第⼀可以防⽌主键重复,第⼆也可以规定某个数据库的id范围,从第⼏开始。
2、Hash类型
(01)赋值:hset key field value
(02)取值:hget key field
(03)多个字段赋值:hmset key field1 value1 field2 value2 field3 value3 …
(04)多个字段取值:hmget key field1 field2 field3 …
(05)存在则修改、不存在则插⼊:hsetnx key field value
(06)获取key的所有字段:hgetall key
(07)删除key的某个字段:hdel key field
(08)使key某个字段的值递增n:hincrby key field n
(09)判断key的某个字段是否存在:hexists key field
(10)获取某个key的所有字段名:hkeys key
(11)获取某个key的所有字段值:hvals key
(12)删除key:del key
应⽤场景:设置商品信息,假如⽤String类型保存商品信息,修改的话要解析json、修改后再封装json保存。但是Hash类型则可以根据key的字段修改值。
3、List类型 (redis中使⽤的双向链表)
(01)向左端增加元素:lpush key value1 value2 value3 …
(02)向右端增加元素:rpush key value1 value2 value3 …
(03)查看下标在startindex 和 stopindex之间的元素:lrange key startindex stopindex,stopindex = -1 代表右边全部的
(04)从左边返回并删除元素:lpop key
(05)从右边返回并删除元素:rpop key
(06)获取列表中元素的个数:llen key
(07)根据值删除元素:lrem key count value(删除前count个值为value的元素)count>0从左边开始删,count<0右边开
始,count=0删除全部。
(08)根据下标值查元素:lindex key index
(09)给指定的下标设置元素值:lset key index value
(10)根据下标保留指定元素,删除其余的:ltrim key startindex stopindex
(11)从左向右查,在指定元素的左(before)右(after)插⼊元素:linsert key before|after findV
alue targetValue。
(12)将元素从⼀个列表转移到另⼀个列表:rpoplpush fromkey tokey(⼜端弹出,左端压⼊)
应⽤场景:存放商品的评论列表,key是商品编号,value是商品评论的json串,⼀个商品可以有好多评论。
4、Set类型
(01)添加元素:sadd key value1 value2 value3 value4 …
(02)删除元素:srem key value1 value2 value3 value4 …
(03)获取集合中所有元素:smembers key
(04)判断元素是否在集合中:sismember key value
(05)获取集合差集(属于A,不属于B的元素):sdiff keyA keyB
(06)获取集合交集(属于A,也属于B的元素):sinter keyA keyB
(07)获取集合并集(属于A、B中的全部元素):sunion keyA keyB
(08)获取集合中元素的个数:scard key
(09)从集合中随机弹出⼀个元素:spop key
应⽤场景:根据集合与列表的区别,要求⽆序、不重复的可以⽤集合。
5、SortedSet(zset)类型
有序集合是在集合的基础上每个元素关联了⼀个分数,可以提供与分数有关的操作,如获取分数最⾼、最低的前n个元素,根据分数范围获取元素等。
(01)添加元素:zadd key score value score2 value2 score3 value3 …(如果元素存在,会⽤新分数替换旧分数)
(02)获取指定元素的分数:zscore key value
(03)删除指定元素:zrem key value
(04)按照分数从⼩到⼤,返回下标范围之间的元素:zrange key startindex stopindex
(05)按照分数从⼤到⼩,返回下标范围之间的元素:zrevrange key startindex stopindex
(06)按照分数从⼩到⼤,返回下标范围之间的元素,并获取分数:zrange key startindex stopindex withscores
(07)按照分数从⼤到⼩,返回下标范围之间的元素,并获取分数:zrevrange key startindex stopindex withscores
(08)获取指定分数范围的元素:zrangebyscore key minScore maxScore [withscores]
(09)获取指定分数范围的元素,从第offset个开始,总共取count个:zrangebyscore key minScore maxScore limit offset count [withscores]
(10)增加某个元素的分数:zincrby key addScore value(给value增加addScore分)
(11)获得集合中元素的数量:zcard key
(12)获得指定分数范围为元素数量:zcount key minScore maxScore
(13)按照排名范围删除元素:zremrangebyrank key startIndex stopIndex
(14)按照分数范围删除元素:zremrangebyscore key minScore maxScore
(15)从⼩到⼤获取元素的排名:zrank key value

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。