使用本地缓存快还是使用redis缓存好?

Redis早已家喻户晓,其性能自不必多说。


但是总有些时候,我们想把性能再提升一点,想着redis是个远程服务,性能也许不够,于是想用本地缓存试试!想法是不错的。那么就让我们来比较下二者的差别吧!

读写速度,不考虑并发问题,本地缓存自然是最快的。但是如果本地缓存不加锁,那应并发了咋办呢?所以,我们以加锁方式再比较一次。

场景使用,同一数据,从数据库取出来,放到redis只要一次,而放到本地缓存,则需要n个集群次

本地缓存无法用于重复点击,重复点击会分发请求到多台服务器,而用本地缓存只能防止本机重复点击,redis则可以防止,但是时间间隔也需要在redis的读写差之外。

redis内存可能n多扩充,而本地扩大堆内存代价是很大的。

本地缓存需要自己实现过期功能,实现不好可能导致极其严重的后果,而redis经过大量的流量验证,许多漏洞无需考试,安全。

本地缓存无法提供丰富的数据结构,redis可以。

redis可以写磁盘,持久化,本地缓存不可以或者说很麻烦要考虑的东西太多。

各位开发同学水平差别大,使用本地缓存极有可能导致严重的线程安全问题,并发考虑严重。

加本地缓存后,代码复杂度急剧上升,后面进来的开发很难一下领会原有开发想法。间接提升维护成本。

其实在map和redis取值这里省的时间,可能在我们写得乱七八糟的代码里,早都不算啥了,所有有时候咱们真的没必要较那几毫秒的真!

    个人感觉就是,框架是尽量选择最优的方式进行处理,本地缓存胜。业务代码尽量以最稳的方式进行处理,redis胜。

    选择什么样的方式,还得看用于什么样的场景!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 关于Mongodb的全面总结 MongoDB的内部构造《MongoDB The Definitive Guide》...
    中v中阅读 32,008评论 2 89
  • 第一部分 Python基础篇(80题) 1、为什么学习Python? Python相对于其他编程语言有很多优点: ...
    清清子衿木子水心阅读 1,729评论 0 1
  • 五种数据结构简介 Redis是使用C编写的,内部实现了一个struct结构体redisObject对象,通过结构体...
    彦帧阅读 6,966评论 0 14
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,135评论 1 32
  • “你有freestyle吗?” 身边的朋友聊天的时候都开始说:你有freestyle吗? 从一开始的听不懂,到今天...
    污染媛阅读 480评论 0 4