Redis简介
Redis是目前最流行的基于内存存储的key-value数据库,因其出色的性能(官方提供的数据是可以达到100000+的QPS),被常用于各大项目中。它为什么快呢?主要有以下几个原因:
1、基于内存存储和操作,读写速度非常的快。
2、采用单线程处理网络请求,避免了不必要的上下文切换,不用去考虑各种锁的问题,不存在加锁释放锁操作(大家经常碰到一个问题,就是问Redis是单线程的还是多线程的,其实我觉得Redis是多线程,Redis服务里不可能只处理用户请求而不做其他的事情,只不过它在处理网络请求时用的是单线程)。
3、使用多路I/O复用模型,可以高效处理大量并发连接。
Redis的优缺点
优点:1、前面分析了Redis快的原因,所以快速高效就是Redis最大的优点。
2、采用单线程来处理网络请求,所以Redis线程是安全的,使用时无需担心线程安全问题。
3、支持丰富的存储数据类型,常见的有String(字符串)、List(列表)、Hash(字典)、Set(集合)、Sorted Set(有序集合)。
4、支持数据持久化操作,什么意思?就是说Redis挂掉了,重启后能恢复之前的数据,它提供了RDB、AOF及RDB&AOF三种方案。
5、提供集群方式,能够实现高可用。
缺点:1、不能像关系型数据一样使用丰富的sql语句进行查询,所以一般情况下,常用DB+Redis进行搭配。
2、单线程无法发挥多核CPU性能,不过可以通过在单机开多个Redis实例来完善
Redis应用场景
1、缓存热点数据。
2、存储token、短信验证码等。
3、发布订阅。
4、分布式锁。
5、计数器。
6、排行榜。
小结
Redis是个好东西,看完后希望大家能对Redis有个初步的认知。在设计程序时如果能合理的引入Redis,会大大提升系统的性能和抗压能力,但是同时也得考虑引入后带来的一系列问题。总的来说,使用Redis是利大于弊的,认识它、用好它,它会成为你的得力助手,带你超神,带你飞。
标签:存储,请求,单线程,Redis,介绍,处理,多线程 来源: https://www.cnblogs.com/maguanyue/p/12078542.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。