首页 > 其他 > 详细

Redis数据结构的应用场景

时间:2021-04-26 22:55:46      阅读:19      评论:0      收藏:0      [点我收藏+]

string

  1、单值缓存:set key value

        get key

  2、对象缓存

id  name nums
1   liming  102
2    lihua   89
3 zhangsan  90
4 gouji 107

    mset  user:1:name zhangsan user:1:num 90

    mget user:1:name user:1:num

  3、分布式锁,对同一个数据进行操作

    setnx product:1001 true               //返回1说明加锁成功,可以进行后续操作

                   //返回0,加锁失败

    del product:1001                            //操作完成后释放锁

    为了防止死锁可以加上时间限制

    expire product:1001 second;

  4、计数器

    场景:统计某篇文章的阅读量

    incr  article:readcount:{文章id}              //每有一个点击,就执行一次incr 

Hash

  应用场景,购物车

  以用户id为key

  商品id为filed

  商品数量为value

  技术分享图片

 

 

  1)添加商品 hset user:1 1000  1 

  2)增加数量 hincrby user:1 1000 1

  3)商品总数  hlen  user:1

  4)删除商品 hdel user:1 1000

  5)获取购物车所有商品 hgetall user:1

 

list

 

  技术分享图片

 

  应用场景:公众号的消息流

    kitty001关注了Jenny和LiMing两个公众号,当Jenny发了一篇id为1234的文章时

    lpush  msg:kitty001  1234

    接着LiMing也发了一篇文章id为9527的文章

    lpush  msg:kitty001 9527

    查看微信公众号最新消息

    lrange msg:kitty001  0 -1   

set 

  应用场景:抽奖小程序

  参与抽奖:sadd  choujiang  zhangsan lisi wangwu kitty tx liu liming

  开奖 :  srandmember choujiang 2   //这两个人任然在集合中 ;spop choujiang 2 这两人不在集合

127.0.0.1:6379> SADD choujiang zs lm jy dy ls wu hh li tx ki
(integer) 10
127.0.0.1:6379> SMEMBERS choujiang
 1) "ls"
 2) "hh"
 3) "jy"
 4) "wu"
 5) "dy"
 6) "li"
 7) "zs"
 8) "lm"
 9) "tx"
10) "ki"
127.0.0.1:6379> SRANDMEMBER choujiang 2
1) "wu"
2) "jy"
127.0.0.1:6379> SMEMBERS choujiang
 1) "wu"
 2) "dy"
 3) "li"
 4) "zs"
 5) "ls"
 6) "jy"
 7) "lm"
 8) "hh"
 9) "tx"
10) "ki"

  应用场景:微信点赞

  sadd  like:{消息id}   {用户id}  

  sadd like:{1011}   tx01    //有人点赞

  srem  like:{1011}  tx02    //取消点赞

   应用场景:共同好友

  sadd  key1  zhangsan  lisi wangwu  liuhuan liming 

  sadd key2 zhangsan jenny liming ll

  sinter key1 key2

zset

  使用场景:排行榜

  某天新闻

  zadd  news:20200321  1  "守护香港"

  zadd  news:20200321 1  "你好,世界"

  每有一次点击,这个key所对应的分数加一

  zincrby news:20200321 1  "守护香港"

  展示某天的阅读量前十的新闻

  zrevrange  news:20200321 0  9

 

Redis数据结构的应用场景

原文:https://www.cnblogs.com/xiaoxiaolinux/p/14698855.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!