程序员■有些“上古”程序员为什么一直坚持反对使用redis?

文章图片

项目本身不需要使用缓存
缓存是为了将热点数据存放到内存中 , 减少应用系统与数据库交互的次数以及传输 , 从而提高系统的响应时间 。 在高并发系统中 , 缓存技术是应用非常普遍的技术 , 因为系统最终的瓶颈都会落到数据库层面 。 通过缓存热点数据或者变化非常小的数据 , 前端请求可以直接查询内存获取到数据 , 而不用查询数据库 , 这样可以有效提高系统的并发性能 。 但是在一些小型应用系统或者后台系统 , 其并发数和数据量本省就非常小 , 所以完全没有必要使用Redis之类的缓存技术 。 因为使用了Redis , 必然就要去搭建Redis的服务 , 并且维护它 , 这无形中又是成本的增加 。 所以 , 这可能是有些程序员不喜欢使用Redis的原因 , 系统特性所决定的 。 不是说任何一个系统都要上缓存技术 。
有可替代的其它缓存技术
缓存技术非常多 , 例如Memcached、Ehcache、Aerospike等技术 。 尤其是Ehcache , 可以与Java无缝集成 , 无需像Redis一样搭建Redis Server , 数据直接缓存在应用所在的主机上 , 这对于单机应用或者不需要共享数据的集群应用很适用 。 同时 , Java中我们使用静态Map、集合都可以作为缓存解决方案 。 而Memcached和Aerospike等缓存技术 , 他们的设计和使用都比Redis要简单的多 , 如果我们只是简单使用缓存 , 那Memcached是最佳选择 。 Redis的功能更为强大 , 性能更好 , 它补偿了memcached这类key/value存储的不足 , 在部分场合可以对关系数据库起到很好的补充作用 。
结论
所以 , 要不要用Redis需要看项目本身的特性 , 如果系统并发小、数据量小 , 缓存技术没有必要使用 , 一个Mysql就完全可以搞定 。 其次 , 需要考虑成本 , 可以用Ehcache解决的 , 就不用Memcached , 可以用Memcached解决的 , 就不用Redis 。 至于Aerospike , 阿迈达在用 , 感觉非常强悍 , TPS可以到10万左右 , 谁用谁知道 。
【程序员■有些“上古”程序员为什么一直坚持反对使用redis?】
推荐阅读
- 『程序员』装出新高度! 程序员用代码写招租广告只因不想与其它行业人士合租
- 天文在线|有些是直接坍缩的,证据来了!黑洞并非都由恒星坍缩产生
- #程序员#?8年经验程序员跳槽,2个月面试腾讯百度京东等70家公司,总结出4个共同点
- 程序员■Java程序员必知:HashMap进行put操作会不会引起死循
- 程序员@同学在加拿大当程序员,对比国内程序员的待遇,差距这么大
- #程序员#腾讯T4:结合我多年工作经验给程序员的几点忠告,别再埋头苦干了
- 科技怪人|C++程序员的学习进阶之路之书籍篇
- 「程序员」百度女程序员半夜打的回家,被司机嘲讽:加班到一点收入没我高,值得吗?
- 华为■我,华为程序员,35岁被辞退,年薪百万也躲不过“失业危机”?
- 『程序员』程序员多次劝说邻居,不要让孩子去学编程,结果蒙了
