您的位置:首页 > 数据库 > Redis

Redis五种数据类型常用命令--string,hash,list,set,sortset

2019-02-13 17:03 696 查看

##如果大家没有安装redis,推荐使用try.redis.io这个网站进行熟悉命令操作

一、string

String是最常用的一种数据类型,普通的key/value存储都可以归为此类

常用的命令操作如下

   1)set/get(和java的set/get类似)

  • set 设置可以对应的值为string类型的value
  • 获取key对应的值

  2)mget                     批量获取多个key的值,如果可以不存在则返回nil

  3)incr && incrby       incr对key对应的值进行加加操作,并返回新的值(类似于i++);incrby加指定值
                                  【当value的类型不是integer或者超出范围时,会报错提示添加失败】

  4) decr && decrby     decr对key对应的值进行减减操作,并返回新的值;decrby减指定值

  5) setnx                     设置key对应的值为String类型的value,如果key已经存在则返回0

  6) setex                     设置key对应的值为String类型的value,并设定有效期

   7) 其他命令

  •     getrange    获取key对应value的子字符串
  •     mset          批量设置多个key的值,如果成功表示所有值都被设置,否则返回0表示没有任何值被设置
  •     msetnx      同mset,不存在就设置,不会覆盖已有的key
  •     getset       设置key的值,并返回key旧的值
  •    append      给指定key的value追加字符串,并返回新字符串的长度    

二、hash

1)介绍:hash是一个string类型的field和value之间的映射表,实际的内部存储结构是一个hashmap,特别适合存储对象

2)运用场景:可用一个对象存储用户信息,如商品信息,订单信息等

3)常用命令

          1、 hset——设置key对应的HashMap中的field的value
          2、 hget——获取key对应的HashMap中的field的value
          3、 hgetall——获取key对应的HashMap中的所有field的value  
          4、hlen--返回key对应的HashMap中的field的数量

三、list

常用命令:
       1、lpush——在key对应的list的头部添加一个元素     

                               如 lpush newlist value1 value2 value3

       2、lrange——获取key对应的list的指定下标范围的元素,-1表示获取所有元素

                              如 lrange newlist 0 -1;返回结果是 value3 value2 value1    【倒序
       3、lpop——从key对应的list的尾部删除一个元素,并返回该元素
       4、rpush——在key对应的list的尾部添加一个元素

       5、rpop——从key对应的list的尾部删除一个元素,并返回该元素

四、set

常用命令:主要特征--可排重

       1、sadd——在key对应的set中添加一个元素   

                           如 sadd myset a b c a;成功插入的数据只有3条
       2、smembers——获取key对应的set的所有元素

                           如 smembers myset    只返回3条数据

       3、spop——随机返回并删除key对应的set中的一个元素
       4、suion——求给定key对应的set并集

       5、sinter——求给定key对应的set交集

五、sortset

常用命令:
       1、zadd ——在key对应的zset中添加一个元素

                             如: zadd myzset 1 "one" 2 "two"
       2、zrange——获取key对应的zset中指定范围的元素,-1表示获取所有元素

                             如: zrange myzset 0 -1    返回one two 两个元素
                             如:zrange myzset 0 -1 withscores  返回结果是带分数的
       3、zrem——删除key对应的zset中的一个元素
       4、zrangebyscore——返回有序集key中,指定分数范围的元素列表,排行榜中运用
       5、zrank——返回key对应的zset中指定member的排名。其中member按score值递增(从小到大);排名从0开始

       set是通过hashmap存储,key对应set的元素,value是空对象
       sortset也是通过hashmap存储,但还加了一层跳跃表(     跳跃表:相当于双向链表,在其基础上添加前往比当前元素大的跳转链接 )
 

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: