08 2019 档案
摘要:如果缓存服务在本地的ehcache中都读取不到数据。 这个时候就意味着,需要重新到源头的服务中去拉去数据,拉取到数据之后,赶紧先给nginx的请求返回,同时将数据写入ehcache和redis中 分布式重建缓存的并发冲突问题 重建缓存:数据在所有的缓存中都不存在了(LRU算法弄掉了),就需要重新查询
阅读全文
摘要://对象转换为Json字符串 public static string ToJson(object jsonObject) { object objectValue = string.Empty; string jsonString = "{"; if (jsonObject==null) ...
阅读全文
摘要:因为用nginx+lua去开发,所以会选择用最流行的开源方案,就是用OpenResty nginx+lua打包在一起,而且提供了包括redis客户端,mysql客户端,http客户端在内的大量的组件 1、部署第一个nginx,作为应用层nginx (1)部署openresty (2)nginx+lu
阅读全文
摘要:时效性要求很高的数据,库存,采取的是数据库+缓存双写的技术方案,也解决了双写的一致性的问题 缓存数据生产服务,监听一个消息队列,然后数据源服务(商品信息管理服务)发生了数据变更之后,就将数据变更的消息推送到消息队列中 缓存数据生产服务可以去消费到这个数据变更的消息,然后根据消息的指示提取一些参数,然
阅读全文
摘要:缓存数据生产服务的工作流程分析 (1)监听多个kafka topic,每个kafka topic对应一个服务(简化一下,监听一个kafka topic) (2)如果一个服务发生了数据变更,那么就发送一个消息到kafka topic中 (3)缓存数据生产服务监听到了消息以后,就发送请求到对应的服务中调
阅读全文
摘要:pox文件: Application: 更新数据的时候,根据数据的唯一标识,将操作路由之后,发送到一个jvm内部的队列中 读取数据的时候,如果发现数据不在缓存中,那么将重新读取数据+更新缓存的操作,根据唯一标识路由之后,也发送同一个jvm内部的队列中 一个队列对应一个工作线程 每个工作线程串行拿到对
阅读全文
摘要:采用三级缓存:nginx本地缓存+redis分布式缓存+tomcat堆缓存的多级缓存架构 时效性要求非常高的数据:库存 一般来说,显示的库存,都是时效性要求会相对高一些,因为随着商品的不断的交易,库存会不断的变化 时效性要求不高的数据:商品的基本信息(名称、颜色、版本、规格参数,等等) 商品价格/库
阅读全文
摘要:一、节点间的内部通信机制 1、基础通信原理 (1)redis cluster节点间采取gossip协议进行通信 跟集中式不同,不是将集群元数据(节点信息,故障,等等)集中存储在某个节点上,而是互相之间不断通信,保持整个集群所有节点的数据是完整的 维护集群的元数据用得,集中式,一种叫做gossip 集
阅读全文
摘要:1、单机redis在海量数据面前的瓶颈 2、怎么才能够突破单机瓶颈,让redis支撑海量数据? 3、redis的集群架构 redis cluster 支撑N个redis master node,每个master node都可以挂载多个slave node 读写分离的架构,对于每个master来说,写
阅读全文
摘要:缺少更多功能,如更多执行,定期执行,线程中断 线程池中的状态: import java.util.Date; import java.util.Timer; import java.util.TimerTask; import java.util.concurrent.ExecutorService
阅读全文
摘要:得到别的线程任务的返回值 实现代码示例: 线程安全,用于生产消费者模式。 允许插入空对象
阅读全文
摘要:一主一从,往主节点去写,在从节点去读,可以读到,主从架构就搭建成功了 1、启用复制,部署slave node 使用redis-3.2.8.tar.gz (1)redis utils目录下,有个redis_init_script脚本(2)将redis_init_script脚本拷贝到linux的/et
阅读全文
摘要:1、redis高并发跟整个系统的高并发之间的关系 redis,要搞高并发的话,不可避免,要把底层的缓存搞得很好 mysql,高并发,做到了,那么也是通过一系列复杂的分库分表,订单系统,事务要求的,QPS到几万,比较高了 要做一些电商的商品详情页,真正的超高并发,QPS上十万,甚至是百万,一秒钟百万的
阅读全文
摘要:1、AOF持久化的配置 AOF持久化,默认是关闭的,默认是打开RDB持久化 appendonly yes,可以打开AOF持久化机制,在生产环境里面,一般来说AOF都是要打开的,除非你说随便丢个几分钟的数据也无所谓 打开AOF持久化机制之后,redis每次接收到一条写命令,就会写入日志文件中,当然是先
阅读全文