众所周知,在传统的单机模型应用中,数据都存储在数据库中,应用通过DAO访问数据库,获取业务所需的数据。然而,随着互联网的普及,应用访问量急剧上升,继续通过DAO访问数据库,必将对数据库造成巨大压力。将Redis作为缓存的中间件,应用可将数据存储在内存中直接读取,极大提高了获取数据的速度,降低了服务器的压力。
Redis采用单线程模型,所有的命令由一个线程串行执行,当执行某个命令耗时较长时,会拖慢其后的所有命令。因此,虽然Redis是一个非常快速的内存数据存储媒介,但是当任务执行缓慢时,仍然会产生性能问题。
Redis既是一个使用C语言编写的开源Key-Value数据库,也是一个可支持网络、可基于内存的持久化NOSQL数据库,它提供多种语言的API驱动,例如:Java,C/C++,C#,PHP,Java,Perl,Object-C,Python,Ruby等。
Redis优化总结
①根据业务需要选择合适的数据类型,并为不同的应用场景设置相应的紧凑存储参数。
②若业务场景不需要数据持久化,关闭持久化方式用以提高处理性能及内存使用率。
③不要让你的Redis所在机器物理内存使用超过实际内存总量的60%。
④默认情况下,尽量不要让Redis实例的客户端连接数超出5000。
参照:https://www.sohu.com/a/243253839_557054