
redis
文章平均质量分 62
JokerSoulClub
这个作者很懒,什么都没留下…
展开
-
分享一个利用redis缓存挡住高频的数据库读写的架构设计
以上架构实际上是将数据库作为数据仓库使用,实际的业务处理放置在redis中的,特别是大大降低了数据库写入的操作,相当于所有的数据库业务相关的写入都进行了合并延时写入。这种思路其实之前也有过,不过之前都是考虑合并http的写入请求,但反馈给用户的时间会大大增加,例如本来1秒响应的,现在需要收集3秒内的写入请求统一处理后返回,那么用户最长要等3秒。其实不只是订单相关的业务,任何涉及到频繁读写的业务,包括但不限于,购物车,硬件运营参数,接收订阅数据等。原创 2024-02-06 10:33:14 · 1073 阅读 · 0 评论 -
redis的妙用其一,实现服务端耗时操作的异步获取
业务中经常会出现这样一个场景,我们的服务端会去调用第三方api,并且把得到的数据处理后返回给前端(或者需要我们的登录才能调用)一般的做法都是用同步的方式直接在代码中请求,这种方式一定要设置请求的超时时间很短,否则高并发情况下,我们的服务端就会崩溃,因为同步阻塞的原因另一种情况,就是服务端请求的api本来就很耗时,例如一定需要至少1分钟以上的时间才能正常返回,这个时候,可以考虑在服务端使用多线程,用异步的方式获取返回的内容,在不阻塞正常的前端请求的情况下,提前给前端返回正在请求中的状态,从而避免了高原创 2022-02-09 18:16:59 · 788 阅读 · 0 评论 -
记录一次redis使用时出现Could not return(get) the resource to the pool的解决方法
要点1,使用的redis pool 需要用单例模式例如Jedis jds = getPool().getJedis() //单例获取要点2,单次取用redis连接只做一次操作,不要取得一次后,在没有保证关闭的时候,做多次操作例如Jedis jds = getPool().getJedis() //单例获取jds.set() //jds.del() //要点3,写try,catch,finally,确保每次使用完毕归还连接例如Jedis jds = getPool().getJedis原创 2021-04-09 14:19:08 · 662 阅读 · 0 评论