
redis
文章平均质量分 75
你真的是一个很帅的程序媛
这个作者很懒,什么都没留下…
展开
-
Redis学习笔记
一、优势和缺点优点:单线程性能高和抗并发缺点:1.缓存和数据库db双写一致性问题2.缓存击穿3.缓存雪崩4.缓存并发竞争问题二、为什么会这么快1、纯内存操作:内存相对于磁盘有天然的性能优势, 类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1);2、单线程:避免过多的上下文切换开销;避免同步机制的开销(死锁,锁粒度等问题);简单可维护(作者代码间接性理念);3、I/O多路复用:基于epoll/select/kqueue等I/O多路复用技术,原创 2021-04-24 11:47:58 · 109 阅读 · 0 评论 -
本地缓存caffeine使用方式
使用方式:一、导入包<dependency><groupId>com.github.ben-manes.caffeine</groupId><artifactId>caffeine</artifactId><version>2.8.6</version></dependency>二、增加配置类@Configurationpublic class Loca...原创 2021-04-24 11:46:56 · 462 阅读 · 0 评论 -
redis应用场景记录
应用场景 计数器 1、value为set数据结构时可以做全局去重1、分布式锁 setnx expire2、延迟队列/排行榜 数据类型使用soredset,时间戳作为score,消息内容作为key调用zadd来生产消息,消费者用zrangebyscore指令获取N秒之前的数据轮询进行处理。@Service("distributeDelayedQueueServiceRenaultImpl")public class DistributeDelayedQueueServiceRe.原创 2021-04-24 11:45:53 · 109 阅读 · 0 评论 -
redis性能优化
前言从资源使用角度来看,redis优化可以包含的知识点如下: CPU 相关:使用复杂度过高命令、数据的持久化,都与耗费过多的 CPU 资源有关 内存相关:bigkey 内存的申请和释放、数据过期、数据淘汰、碎片整理、内存大页、内存写时复制都与内存息息相关 磁盘相关:数据持久化、AOF 刷盘策略,也会受到磁盘的影响 网络相关:短连接、实例流量过载、网络流量过载,也会降低 Redis 性能 计算机系统:CPU 结构、内存分配,都属于最基础的计算机系统知识原创 2021-04-24 11:44:57 · 339 阅读 · 0 评论 -
redis线上问题记录
一、大key延迟队列采取zset集合来做延迟推送能力,十个业务节点,建了十个keykey:DELAYED_MESSAGE_ZSET + new Random().nextInt(delayMessageZone)上线之后出现慢查询和缓存使用完毕 zcard命令查询每个key下有1588600条数据(双十一) 高峰期间,慢查询一天也会有几百条 十个key路由到redis集群中的其中四台,导致四台内存使用完毕,导致内存失效 扩展性不好,增加一台机器需要修改代码原创 2021-04-24 11:36:13 · 221 阅读 · 0 评论 -
redis三大问题 终极解决方案
缓存失效背景:通过key查询值,先查询缓存是否存在,如果存在返回,不存在查询数据库,然后更新缓存并返回,如果数据库不存在返回null例如:订单号是从1自增开始,如果黑客或者其他服务传参为-1或者很大的参数缓存穿透(db和缓存都没有)问题:当key为一个不符合业务场景的值,缓存和数据库都不存在,外部侵入者就可以一直请求,导致数据库和缓存压力大解决:1、业务判断,key值大小校验,不能为空或者大于0小于10000之类的;2、缓存和数据库查询不出来时,设置key-value为null,设置超时时间原创 2021-04-24 11:31:49 · 485 阅读 · 0 评论 -
Redis学习笔记
一、优势和缺点优点:单线程性能高和抗并发缺点:1.缓存和数据库db双写一致性问题2.缓存击穿3.缓存雪崩4.缓存并发竞争问题二、为什么会这么快1、纯内存操作:内存相对于磁盘有天然的性能优势, 类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1);2、单线程:避免过多的上下文切换开销;避免同步机制的开销(死锁,锁粒度等问题);简单可维护(作者代码间接性理念);3、I/O多路复用:基于epoll/select/kqueue等I/O多路复用技术,原创 2021-04-24 11:06:19 · 1834 阅读 · 5 评论