![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
web
夕时明月
分享的过程也是自我更新的过程;进步源自点滴的积累
展开
-
WEB缓存_如何解决缓存的一致性
一、如何解决一致性问题一个总的原则一旦数据库更新了,就把原来的缓存失效掉有时候要做到这一点是很困难的,似乎听起来很可笑,但是当系统规模达到一定程度的时候,这个问题就会凸显。在一个大的团队中,每个开发都在系统里面提交自己的代码,很可能某段代码修改了数据库,但是忘了清缓存,造成生产环境发生故障。对于这种问题,主要得靠代码review来解决。另外,在故障发生的时候,我原创 2017-12-09 15:44:56 · 2083 阅读 · 0 评论 -
WEB缓存_如何解决缓存的实时性
如何解决缓存的实时性首先"确保从缓存读取的数据是最新的”这个想法就有点走入误区,既然是缓存,那么必然对数据的实时性有一定的容忍度,可以是5分钟,也可以是5小时,取决于不同的业务场景。然后,一定要求是实时性的数据,就不应该从缓存里读取,比如 库存和价格,应该直接从数据库读取实时数据也可以选择缓存较短时间,甚至做到一个网站里不同页面的价格读取采用不同的方案,以“京东商城”为例,京东的商品列表页面的价格...原创 2018-07-05 16:59:18 · 1011 阅读 · 0 评论 -
常见HTTP错误码
1XX 表示消息2XX 表示成功3XX 表示重定向(301,302,304)4XX 表示请求错误(400,401,404)5XX 表示服务器端错误 (500,501)200: OK 表示请求成功,一切正常301: 重定向,客户请求的文档在其他地方,新的URL在Location头中给出,浏览器应该自动地访问新的URL302: 临时重定向,类似于301,但新的URL应该被视为临时性的替代,而...原创 2018-07-04 14:19:30 · 1594 阅读 · 1 评论 -
dubbo和zookeeper的关系
Dubbo建议使用Zookeeper作为服务注册中心。1. Zookeeper的作用 1:注册服务 zookeeper管理一系列服务,提供者通过将自己的信息注册到zookeeper上与某个服务绑定来提供此项服务;消费者通过指定服务名来调用服务. 哪一个服务由哪一个/哪些机器来提供必需让调用者知道,简单来说就是ip+por...转载 2018-04-07 13:15:25 · 2911 阅读 · 0 评论 -
dubbo与springcloud对比
springcloud是基于springboot的 springcloud的优点是 开发简洁 支持restfulspringcloud的更新也要比dubbo快,更多的社会资源支持dubbo国内使用较多、有中文文档、技术成熟springcloud整合了大量的第三方组件、以及springboot的自动化配置 dubbo提供的是rpc调用; springcloud提供的是restful调用: 两者的区别...转载 2018-04-07 12:39:02 · 2014 阅读 · 0 评论 -
spring容器事件(启动,关闭,刷新...)
很多时候我们想要在某个类加载完毕时干某件事情,但是使用了spring管理对象,我们这个类引用了其他类(可能是更复杂的关联),所以当我们去使用这个类做事情时发现包空指针错误,这是因为我们这个类有可能已经初始化完成,但是引用的其他类不一定初始化完成,所以发生了空指针错误转载 2017-12-08 10:58:45 · 1853 阅读 · 0 评论 -
sso单点登录
具体原理参照引用部分1,我只是对作者内容的梳理和解析,看完作者的全文后再看我的解析会清楚很多一、概念单点登录全称Single Sign On(以下简称SSO),是指在多系统应用群中登录一个系统,便可在其他所有系统中得到授权而无需再次登录,包括单点登录与单点注销两部分相比于单系统登录,sso需要一个独立的认证中心,只有认证中心能接受用户的用户名密码等安全信息,其他系统不提供登录入口,转载 2017-12-03 10:27:42 · 617 阅读 · 0 评论 -
WEB缓存_缓存过期策略
可以通过过期时间来控制内容过期的情况:比如在一个网站上,总会有一些每日之星用户,或者今日推荐文章。这些内容的新鲜期都很长,比如每日之星的数据,如果 20分钟更新一次,用户也不会有异议。那么,我们在查询出这些用户后,可以将结果集存入缓存中,并设置过期时间为 20 分钟。待自动失效后,再重新查询。无法通过过期时间来控制内容过期的情况:这时有两个策略。一是【主动过期】,二原创 2017-12-09 15:40:47 · 940 阅读 · 0 评论 -
WEB缓存_什么时候使用缓存
一、什么数据可以放缓存不需要实时更新但是又极其消耗数据库的数据。比如网站上商品销售排行榜,这种数据一天统计一次就可以了,用户不会关注其是否是实时的。需要实时更新,但是更新频率不高的数据。比如一个用户的订单列表,他肯定希望能够实时看到自己下的订单,但是大部分用户不会频繁下单。在某个时刻访问量极大而且更新也很频繁的数据。这种数据有一个很典型的例子就是秒杀,在秒杀那一刻,可能有N原创 2017-12-09 15:36:35 · 2443 阅读 · 0 评论 -
WEB缓存_缓存相关的算法
先进先出算法(FIFO):如果一个数据最先进入缓存中,则应该最早淘汰掉。如果服务器接受到的数据请求与时间高度相关,可以考虑使用FIFO算法。最不经常使用算法(LFU):这个缓存算法使用一个计数器来记录条目被访问的频率。通过使用LFU缓存算法,最低访问数的条目首先被移除。这个方法并不经常使用,因为它无法对一个拥有最初高访问率之后长时间没有被访问的条目缓存负责。最近最少使用算法(LRU):这个原创 2017-12-09 15:33:47 · 200 阅读 · 0 评论 -
WEB缓存_缓存层次
缓存可以发生在这些层次:MySQL内部:在系统调优参数介绍了相关设置数据访问层:比如MyBatis针对SQL语句做缓存,而Hibernate可以精确到单个记录,这里缓存的对象主要是持久化对象Persistence Object应用服务层:这里可以通过编程手段对缓存做到更精准的控制和更多的实现策略,这里缓存的对象是数据传输对象Data Transfer ObjectWeb层:原创 2017-12-09 15:32:22 · 359 阅读 · 0 评论