redis 2 你要了解的东东,还有后续,哈哈

1.redis string 常见的应用场景
  计数功能,incr get
  各类场景下(单机或者分布式)的标识号
  集群环境下的session共享
  使用spring session 和redis完成session共享
2.string 实现分布式锁
  锁的场景,多任务环境下,多对一
  有状态的资源-会不一样的(有状态的)1+1+1=3
3.锁的实现是通过setnx 来实现的
4.redis加锁的正确的姿势,通过setnx向特定的key写入一个随机值,并同时设置失效时间,写值成功及加锁成功
  注意点:必须给锁设置一个失效时间,避免死锁
  加锁时给每一个节点产生一个随机的字符串,避免误删锁
  写入随机值与设置失效时间必须是同时的,保证加锁是原子的
  解锁:
  匹配随机值,删除redis上的特点key数据,要保证获取数据,判断一致以及删除数据三个操作是原子的
  执行如下lua脚本
  if redis.call("get",KEYS[1]==ARGV[1])then
    return redis.call("del",KEYS[1]) 
  else
    return 0
  end
5.redis的使用场景,淘宝购物车,hmset,主要就是key的设计 hash
  list场景,数据结构,实现阻塞队列,lpush,lpop,blpop,b就是blocking,阻塞的意思,场景:微信消息订阅号
  set ,设计投票,防止重投,黑名单,抽奖的场景,sdd,排重,先放到一个集合中,
  srandmember key 2,抽两名奖金,抽中的spop移除
  微信上面的点赞,也是set,会存在顺序问题,改成zset
  设计微博关系的人,有人物之间的关系,用过set集合,有交集,并集,我可能认识的人
  zset的使用,有序集合,常用于排行榜,点赞数量,数字特别大,也就是量特别大的话,key的设计可以按天的设计
  

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

張義帥

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

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

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

打赏作者

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

抵扣说明:

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

余额充值