
redis
文章平均质量分 50
轻舞---飞扬
这个作者很懒,什么都没留下…
展开
-
缓存重建线程
缓存重建线程 单例模式 缓存重建内存队列 ArrayBlockingQueue 阻塞内存队列,默认1000长度 属性 ArrayBlockingQueue queue 方法 阻塞 queue.put() 在队尾插入元素,如果队列没有空间阻塞放入 queue.take() 从队头获取元素,如果没有数据阻塞获取 如果没有数据抛出异常 add 在队尾插入元素,如果队列没有空间抛出异常 remove 在队头获取并移除元素,如果没有数据抛出异常 特殊值 offer 在队尾插入元素,如果队列满了返回fal...原创 2022-03-17 21:57:27 · 315 阅读 · 0 评论 -
DB数据变更缓存分布式更新的zk分布式锁解决方案
DB数据变更缓存分布式更新的zk分布式锁解决方案 KafkaConsumer kafak消费线程,DB数据变更后,将消息推送到kafka topic,由消费线程进行消费 属性 1、ConsumerConnector 封装客户端连接,通过Consumer.createJavaConsumerConnector进行创建 2、ConsumerConfig 消费者配置类,构造函数通过Properties props入参传入 zookeeper.connect zk连接地址 group.id 消费...原创 2022-03-16 07:19:43 · 1955 阅读 · 0 评论 -
数据库与redis缓存双写数据不一致方案
数据库与redis缓存双写数据不一致方案 数据库与缓存不一致只有在出现并发读写时才会出现,如果每天上亿的流量,每秒并发读是几万,每秒只要有更新缓存的请求, 就很可能会发生数据库与缓存不一致的情况。 解决方案。 1、简单方案 先更新数据库,再删除缓存, 延时再删除缓存。 2、数据库和缓存更新读取异步串行化 更新数据的时候,根据数据的唯一标识,将操作路由后,发送到一个jvm内部队列,读取数据的时候,如果发现数据不在缓存中,那么将读取数据操作, 根据数据的唯一标识,将操作路由发送到相同jvm的内部队列,一..原创 2022-03-06 15:27:37 · 585 阅读 · 0 评论 -
redis实践中的常见问题以及优化
redis实践中的常见问题以及优化 1、fork耗时导致高并发请求延时 生成RDB快照、AOF重写,耗费磁盘的IO的过程,主进程fork子进程,子进程需要拷贝父进程的空间内存页表 一般来说,如果父进程内存1G数据,那么fork可能会耗费20ms左右,通过info stats中的latest_fork_usec,可以看到最近一次fork的时长。 所以一般优化控制redis内存在10G以内。 2、AOF阻塞问题 redis将数据写入AOF缓冲区,会单独开一个线程做fsync,每秒一次,redis...原创 2022-03-05 20:19:08 · 726 阅读 · 0 评论