您好,登录后才能下订单哦!
这篇文章主要介绍“Redis有哪些数据类型”,在日常操作中,相信很多人在Redis有哪些数据类型问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Redis有哪些数据类型”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
Redis数据类型
redis的命令是忽略大小写的
一、 String类型
赋值
> set name 王五
 > select 1
 > set name zhangsan
 > get name
设置/获取多个键值
 > mset age 25 gender male city 杭州
 > get age
 > mget age city
取值再赋值
 > getset s2 111
 > getset s2 222
尾部追加值
 > append name hello
删除
 > del s2
数值增减
递增
 当存储的字符串是整数时,使用命令incr使当前键值加1,返回递增后的值
 > incr num
 指定步长
 > incrby num 2
递减
 > decr num
 > decrby num 2
应用场景,存储商品信息
 > incr items:id
二、Hash类型
hset命令不区分插入和更新操作,插入操作返回1,更新返回0
一次设置一个字段
 > hset user name lizi
 一次设置多个字段
 > hmset user age 25 gender male
 当字段不存在时赋值,存在则不执行任何操作
 > hsetnx user address hangzhou
一次获取一个字段
 > hget user name
 一次获取多个字段
 > hmget user name age
 一次获取所有字段值
 > hgetall user
删除一个或多个字段,返回被删除的字段个数
 > hdel user age address
数字增加
 > hset user age 20
 > hincrby user age 2
 > hget user age
判断字段是否存在
 > hexists user age
只获取字段名或字段值
 >hkeys user
 >hvals user
获取字段数量
 > hlen user
应用场景,存储商品信息
 > hmset items:1001 id 1001 name iphonex price 1999 color black
 > hmset items:1002 id 1002 name iphonex price 1999 color black
 获取商品信息
 > hget items:1001 name
 > hgetall items:1001
三、List类型
向列表左边添加元素
 > lpush list 0 9 8
 > lpush list:1 1 2 3 4
向列表右边添加元素
 > rpush list:1 5 6 7
查看列表
 > lrange list:1 0 3
 > lrange list:1 0 -1 读所有
从列表两端弹出元素,返回移除的元素值
 > lpop list:1
 > rpop list:1
获取列表中元素的个数
 > llen list:1
删除列表中指定的值
 LREM命令会删除列表中前count个值为value的元素,返回实际删除的元素个数。根据count值的不同,该命令的执行方式会有所不同: 
         当count>0时, LREM会从列表左边开始删除。 
         当count<0时, LREM会从列表后边开始删除。 
         当count=0时, LREM删除所有值为value的元素。 
 > lrem list:1 1 5
 > lrem list:1 -1 5
 > lrem list:1 0 5
获取指定索引的元素值,索引从0开始
 > lindex list:1 0
设置指定索引的元素值
 > lset list:1 0 11
保留列表指定范围的元素
 > ltrim list:1 0 2
向指定元素值的前后插入元素,返回列表的元素个数
 > linsert list:1 before 2 10 
 > linsert list:1 after 2 10
将一个元素从一个列表移到另一个列表
 > rpoplpush list:1 list:2
应用场景,商品评论
 > lpush items:comment:1001 '{"comment":"good product","date":1430295077289}'
 > lpush items:comment:1001 '{"comment":"bad product","date":1430295078888}'
四、 Set类型,元素不重复,无序
添加
 > sadd set1 a b c
删除
 > srem set1 b
获取
 > smembers set1
判断元素是否存在,存在返回1,不存在返回0
 > sismember set1 a
差集运算,属于A但不属于B的元素构成的集合,A-B
 > sadd setA 1 2 3
 > sadd setB 2 3 4
 > sdiff setA setB
 > sdiff setB setA
交集,A ∩ B
 > sinter setA setB
并集,A ∪ B
 > sunion setA setB
获取元素的个数
 > scard setA
随机弹出一个元素
 > spop setA
五、SortedSet类型,zset,有序
添加
 > zadd english:scoreboard 80 zhangsan 70 lisi 90 wangwu
 > zadd english:scoreboard 60 maliu
 修改
 > zadd english:scoreboard 85 zhangsan
 获取元素的分数
 > zscore english:scoreboard maliu
 删除元素
 > zrem english:scoreboard maliu
 获取排名在某个索引范围的元素值列表
    按照分数值从小到大排列
     > zrange english:scoreboard 0 1
     > zrange english:scoreboard 0 -1
     > zrange english:scoreboard 0 -1 withscores
     按照分数值从大到小排列
     >zrevrange english:scoreboard 0 -1
     >zrevrange english:scoreboard 0 -1 withscores
获取指定分数范围内的元素
 > zrangebyscore english:scoreboard 80 90 withscores
 > zrangebyscore english:scoreboard 80 90 withscores limit 1 2
增加某个元素的分数,返回更改后的分数
 > zincrby english:scoreboard 5 wangwu
获取集合中元素的数量
 > zcard english:scoreboard
获取指定分数内的元素个数
 > zcount english:scoreboard 80 90
按照排名指定索引范围删除元素
 > zremrangebyrank english:scoreboard 0 1
按照分数范围删除元素
 > zremrangebyscore english:scoreboard 80 90
获取元素的排名
 从小到大
 > zrank english:scoreboard lisi
 从大到小
 > zrevrank english:scoreboard lisi
应用场景,商品销售排行榜
 > zrank items:sellsort 9 1001 10 1002
 > zincrby items:sellsort 1 1001
 > zrevrange items:sellsort 0 9 withscores
设置key的生存时间
 > set test hello
 > expire test 5
 > ttl test 【-1没有设置存活时间,-2已删除】
 > get test
 > persist test
匹配查询key
 > keys user*
数据库中是否存在key
 > exists user
删除key
 > del user
重命名key
 > rename user userabc
返回数据类型
 > type setA
到此,关于“Redis有哪些数据类型”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。