上一页 1 2 3 4 5 6 7 8 9 10 ··· 19 下一页
摘要: 需求起因 在高并发的业务场景下,数据库大多数情况都是用户并发访问最薄弱的环节。所以,就需要使用redis做一个缓冲操作,让请求先访问到redis,而不是直接访问MySQL等数据库。 这个业务场景,主要是解决读数据从Redis缓存,一般都是按照下图的流程来进行业务操作。 读取缓存步骤一般没有什么问题, 阅读全文
posted @ 2019-11-23 14:52 达芬奇vinic 阅读(452) 评论(0) 推荐(0) 编辑
摘要: 使用redis作为mysql缓存数据库流程: 先读缓存数据,缓存数据有,则立即返回结果;如果没有数据,则从数据库读数据,并且把读到的数据同步到缓存里,提供下次读请求返回数据。 虽说这样能减轻数据库压力,但是如果修改删除数据,在多线程高并发的场景下会有可能导致缓存和数据库数据不一致问题,那该如何解决呢 阅读全文
posted @ 2019-11-22 15:15 达芬奇vinic 阅读(3532) 评论(0) 推荐(0) 编辑
摘要: 1. Redis是单线程的,省去了很多上下文切换线程的时间;(官方答案:因为Redis是基于内存的操作,CPU不是Redis的瓶颈,Redis的瓶颈最有可能是机器内存的大小或者网络带宽。既然单线程容易实现,而且CPU不会成为瓶颈,那就顺理成章地采用单线程的方案了。) 2. Redis在内存中存储,读 阅读全文
posted @ 2019-11-22 15:09 达芬奇vinic 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 1.我们使用缓存时的业务流程大概为: 当我们查询一条数据时,先去查询缓存,如果缓存有就直接返回,如果没有就去查询数据库,然后返回。这种情况下就可能出现下面的一些现象。 2.缓存穿透 2.1什么是缓存穿透 缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层 阅读全文
posted @ 2019-11-22 14:56 达芬奇vinic 阅读(465) 评论(0) 推荐(0) 编辑
摘要: 对比结论 1. 性能上: 性能上都很出色,具体到细节,由于Redis只使用单核,而Memcached可以使用多核,所以平均每一个核上Redis在存储小数据时比Memcached性能更高。而在100k以上的数据中,Memcached性能要高于Redis,虽然Redis最近也在存储大数据的性能上进行优化 阅读全文
posted @ 2019-11-22 14:21 达芬奇vinic 阅读(667) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 10 ··· 19 下一页