02-分布式缓存中间件Redis介绍

一、为什么引入Redis

对于系统来说,在用户请求之后会通过LVS去处理,如果master down之后还有backup,但是我们所有的请求都会在最终落向DB,如果访问量较少时,DB的承载还在接受范围之内,在访问较多时,则会减低DB的运行速率,此时在业务与DB之间就架起一个屏障(Redis),以此来保护DB,同时能够增加访问效率。因我们业务基本上存在读多写少的情况,所以基本上在分配资源时会遵循二八原则,即二为写,八为读,这样将数据缓存在Redis中,用户的访问效率就能大幅提升
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210628210240121.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0thc2V5X0w=,size_16,color_FFFFFF,t_70)
举例:一个动物园接受咨询,
					假如一个游客问大象有多少头,那么管理员就需要进园查看大象的信息,然后反馈给游客
					又来一个游客问大熊猫有多少头,那么管理员就需要进园查看大熊猫的信息,然后反馈给游客
					...
					如果游客众多,那么管理员需要频繁的在游客和园区之间狂奔,这样管理员会over的
			解决方案(redis)
					设立一个账本,记录下园区中各种动物的信息及数量,游客询问时只需要查看账本即可,高效省力,此时会出现一个问题就是动物的信息是实时变动的,那么账本的信息可能老旧,其实在动物园中还有养殖人员,只要动物信息变更,养殖人员直接变更账本信息就可以,保证了账本的准确性

02-分布式缓存中间件Redis介绍_第1张图片

二、Redis是什么

Nosql,分布式缓存中间件,以key-value的形式存储数据,可实现海量数据存储访问,数据存储在内存中,读取更快,是非关系型数据库,分布式、开源且支持水平扩展

三、Nosql

1、定义:Not Only sql
2、诞生:
		传统项目使用纯数据库的形式,项目的瓶颈最后落在DB上
		为互联网和大数据而诞生
		支持水平(横向)扩展方便高效
		以键值对的形式存储数据,insert和delete会更加方便
3、优点:
		高性能读取
		高可用
		存数据、做缓存
4、分类:
		键值对数据库:Redis、Memcache
		列存储数据库:Hbase、Cassandra
		文档型数据库:MongoDB、CouchDB
		图形数据库:Neo4J、FlockDB

四、缓存方案的对比

		1、Ehcache
				优点:基于JAVA开发,继承在Java项目中会更加容易 / 基于JVM缓存 / 简单、轻巧、方便
				缺点:不支持分布式/集群,数据不共享
		2、Memcache
				优点:简单key-value存储 / 只存储字符串 / 内存使用率较高 / 多核处理、多线程
				缺点:无法容灾,无法持久化
		3、Redis
				优点:丰富的数据结构 / 持久化 / 主从同步,故障转移 / 内存DB
				确定:单线程 / 单核

你可能感兴趣的:(分布式,分布式,redis,缓存)