Redis——(4)5种数据类型

目录

 

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

      (1)set/get

      (2)mget =many get

      (3)incr && incrby   i++   i+?

      (4)decr && decrby

      (5)setnx   set if not exist

      (6)setex         

      (7)其他命令

           1)getrange  获取key对应value的子字符串

           2)mset

           3)msetnx,同mset,不存在就设置,不会覆盖已有的key(有一个key 设置失败全部就失败)

           4)getset  设置key的值,并返回key旧的值

           5)append

2、进行Hash类型(类似Hashmap  k v)

(1)Hash是一个String类型的field和value之间的映射表,  Map<.String ,Map> 存Map

(2)  redis的Hash数据类型的key(hash表名称)对应的value实际的内部存储结构为一个HashMap

(3)  Hash特别适合存储对象。

(4)  所存储的成员较少时数据存储为zipmap,当成员数量增大时会自动转成真正的HashMap,此时encoding为ht。

(5)  运用场景:

(6)  Hash命令讲解:

       

3.List的命令讲解以及使用场景剖析(try.redis.io) (栈-先进后出)用户:消息队列  mq redis做

1)、lpush——在key对应的list的头部添加一个元素

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

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

4)、rpush——在key对应的list的尾部添加一个元素

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

6)、lrem ——删除    count 删除多少个 value 删除的值   从顶部开始删除逐次删    返回删除的个数

7)、 llen 查看长度

4.Set的命令讲解以及使用场景剖析

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

2)、smembers——获取key对应的set的所有元素

3)、spop——随机返回并删除key对应的set中的一个元素 

4)、suion——求给定key对应的set并集

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

6)、差

5.set的基础增加顺序score,再根据score进行排序 实战:通过sortset实现排行榜  

      1)、zadd ——在key对应的zset中添加一个元素

      2)、zrange——获取key对应的zset中指定范围的元素,-1表示获取所有元素

      3)、zrem——删除key对应的zset中的一个元素

      4)、zrangebyscore——返回有序集key中,指定分数范围的元素列表,排行榜中运用

      5)、zrank——返回key对应的zset中指定member的排名。其中member按score值递增(从小到大);

      6)、元素的总数


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

连接redis的客户端

进入到 ../redis/src/

       (1)set/get

           1)set:设置key对应的值为String类型的value

           2)get:获取key对应的值      

      (2)mget =many get

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

      (3)incr && incrby   i++   i+?

             incr对key对应的值进行加加操作,并返回新的值;incrby加指定值

       (4)decr && decrby

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

      (5)setnx   set if not exist

             设置key对应的值为String类型的value,

如果key已经存在则返回        0

如果key不存在返回    1

      (6)setex         

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

      (7)其他命令

           1)getrange  获取key对应value的子字符串

           2)mset

       批量设置多个key的值,如果成功表示所有值都被设置,否则返回0表示没有任何值被设置

           3)msetnx,同mset,不存在就设置,不会覆盖已有的key(有一个key 设置失败全部就失败)

           4)getset  设置key的值,并返回key旧的值

           5)append

                 给指定key的value追加字符串,并返回新字符串的长度   

 

课程回顾:

         redis String命令的使用实战,记住1、3、5、6这几个重要命令

2、进行Hash类型(类似Hashmap  k v)

(1)Hash是一个String类型的field和value之间的映射表,  Map<.String ,Map<String ,String >> 存Map

这里的K(String)可以有多个Map<String ,String>             K用对象理解简单

存储多个map

得到多个value

(2)  redis的Hash数据类型的key(hash表名称)对应的value实际的内部存储结构为一个HashMap

(3)  Hash特别适合存储对象。

           相对于把一个对象的每个属性存储为String类型,将整个对象存储在Hash类型中会占用更少内存。

(4)  所存储的成员较少时数据存储为zipmap,当成员数量增大时会自动转成真正的HashMap,此时encoding为ht。

 

(5)  运用场景:

        如用一个对象来存储用户信息,商品信息,订单信息等等。

(6)  Hash命令讲解:

          1)  hset——设置key对应的HashMap中的field的value

          2)  hget——获取key对应的HashMap中的field的value

          3)  hgetall——获取key对应的HashMap中的所有field的value

          4)  hlen--返回key对应的HashMap中的field的数量

          5)hdel  删除对应对象的属性

3.List的命令讲解以及使用场景剖析(try.redis.io) (栈-先进后出)用户:消息队列  mq redis做

 

1)、lpush——在key对应的list的头部添加一个元素

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

栈---先进后出

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

出栈

4)、rpush——在key对应的list的尾部添加一个元素
 

(从右-->左边推) 上面是从右<——左

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

6)、lrem ——删除    count 删除多少个 value 删除的值   从顶部开始删除逐次删    返回删除的个数

7). llen 查看长度

4.Set的命令讲解以及使用场景剖析

首先复习一下set

排重的功能

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

2)、smembers——获取key对应的set的所有元素

3)、spop——随机返回并删除key对应的set中的一个元素 

4)、suion——求给定key对应的set并集

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

6).差

5.set的基础增加顺序score,再根据score进行排序 实战:通过sortset实现排行榜  

set的基础增加顺序score,再根据score进行排序 实战:通过sortset实现排行榜 

简介:SortSet的命令讲解以及使用场景剖析

      1)、zadd ——在key对应的zset中添加一个元素

      2)、zrange——获取key对应的zset中指定范围的元素,-1表示获取所有元素

      3)、zrem——删除key对应的zset中的一个元素

      4)、zrangebyscore——返回有序集key中,指定分数范围的元素列表,排行榜中运用

 

      5)、zrank——返回key对应的zset中指定member的排名。其中member按score值递增(从小到大);

           排名以0为底,也就是说,score值最小的成员排名为0,排行榜中运用

6).元素的总数

zcount

       set是通过hashmap存储,key对应set的元素,value是空对象

       sortset是怎么存储并实现排序的呢,hashmap存储,还加了一层跳跃表

       跳跃表:相当于双向链表,在其基础上添加前往比当前元素大的跳转链接

 

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

智达教育‍

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值