【无标题】redis 总结的进阶笔记(自用so记得不全)

【无标题】redis 总结的进阶笔记(自用so记得不全),第1张

【无标题】redis 总结的进阶笔记(自用so记得不全) redis和mysql的数据一致型 为了防止网络波动有数据不两个一起存 先存进mysql 从mysql里捞出数据存到Redis(新增|修改)(删除直接删 删完mysql返回大于一删Redis)(查就要反过来了 先Redis后mysql Redis为null查mysql,mysql也为null直接返回否则就是mysql有而Redis没有,这样的话写回从mysql到Redis) Redis防止中文乱码 redis-cli --raw ttl key 看看k的过期时间 默认-1永不过期 缓存穿透和缓存击穿 击穿(先击后穿)多线程前一秒查询带到护卫Redis还在 后一秒无了 那么所有的访问全去mysql里去了。。。。。。。 穿透 黑客入侵 每次查询key都不一样 Redis和mysql都顶不住 无了 避免缓存击穿(双重检查锁) 锁前和锁后进行判断 INCR & DECR 加一个减一个 后面跟着key (用于转发量啦 双击星星 点赞 踩。。。) ---------------------------------------------

哈希 : map《string,map》(手机端简易购物车)

list 双端链表 40多亿数据 用于(微信公众号订阅的消息、商品评论列表) set 常用sdiff sinter sunion(a中b无的 a中b有的 大杂烩) 场景:微信抽奖 微信朋友圈 微博共同关注的人 关注的人也关注ta qq可能认识的人 zset 用于排行榜 点赞实战 给CPU降降温10W+直接开摆

抖音视频最新评论留言设计 排序 分页 高并发 )选吧 list zset list可以做 但是有瑕疵 插入新的后移 水军霸榜 zset 案例使用Data.getTime()来作为k评论作为值 排序ZRANK&ZREVRANK从小到大和从大到小 以及ZRANKBYSCORE 给个范围 还能加 limit bitmap(由0 1 状态表现的二进制位的bit数组) 用于签到等 使用string作为底层数据结构 偏移值下标从0开始 HyperLogLog基数统计(去重统计) java去重可以把list作为hashset的构造参数传进去 bitmap准确但不适合亿级 hyperloglog牺牲准确率换取内存不直接存储数据本身 误差率大概0.81% GEO 摇个妹子 最近酒店推送 存的是经纬度 布隆过滤器 防止缓存穿透 也有误差率 哈希碰撞 所以为了降低作者采用多种hash函数所以不能删除 因为总有hash碰撞发生 它底层看的是类似比特数组 三个为一可能存在 一个为零坑定不存在 你说说多个对象的触手占用同一个坑怎么删 对付缓存穿透 空缓存 (但黑客有可能每次k不一样)和布隆 存过的不会发生误判 没存过大概默认百分之3可调 空间换时间(瓜娃)

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5715955.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-18

发表评论

登录后才能评论

评论列表(0条)

保存