裁纸奔月python_有些“上古”程序员为什么一直坚持反对使用redis?

本文讨论项目中缓存技术的使用。缓存可提高系统响应和并发性能,但小型应用或后台系统并发和数据量小,无需使用Redis,使用它还会增加成本。此外,还有Memcached、Ehcache等可替代技术,是否用Redis需结合项目特性和成本考量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目本身不需要使用缓存

缓存是为了将热点数据存放到内存中,减少应用系统与数据库交互的次数以及传输,从而提高系统的响应时间。在高并发系统中,缓存技术是应用非常普遍的技术,因为系统最终的瓶颈都会落到数据库层面。

通过缓存热点数据或者变化非常小的数据,前端请求可以直接查询内存获取到数据,而不用查询数据库,这样可以有效提高系统的并发性能

。但是在一些小型应用系统或者后台系统,其并发数和数据量本省就非常小,所以完全没有必要使用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万左右,谁用谁知道。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值