天翼云分布式缓存服务(Redis)的几个核心概念
天翼云官方网站的Redis产品服务的定义如下:
天翼云分布式缓存服务(Distributed Cache Service,CT-DCS)是天翼云打造的分布式key-Value数据库服务,兼容Redis协议,主要用于持久化数据的存储或缓存数据的存储。
Redis本质上是一个Key-Value类型的内存数据库,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。
因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过 10万次读写操作,是已知性能最快的Key-Value DB。
Redis的主要缺点是数据库容量受到物理内存的限制,不能用作海量数据的高性能读写,因此Redis适合的场景主要局限在较小数据量的高性能操作和运算上。
下面说一下核心概念:
Key-Value是个什么鬼?
简单说Key是键,Value是值,key和value是一对一的关系,通过key就能得到Value。
2018年最具活力与创新可能的云计算服务商TOP100,这里只截取了前5名,对于排名第二的中国电信来说:
key=排名,其对应的value=2
key=名称,其对应的value =中国电信
key=iPower,其对应value=99.41
key=iBrand,其对应的value=95.26
key=iSite,其对应的value=89.45
key=总分,其对应的value=97.58
其他云服务商以此类推。
当我们将这张表格里的100个云服务商的对象集合放到缓存中,因其结构简单,能够在缓存中进行高性能的读取,就能减少读取数据库的次数,大大提高系统的整体性能。
为何Redis要将数据库数据加载到内存?
Redis为了达到最快的读写速度,将数据都读到内存中,如果不将数据放在内存中,磁盘I/O速度会严重影响redis的性能。
如果设置了最大使用的内存,则数据已有记录数达到内存限值后不能继续插入新值。
Redis如何做持久化数据的存储?
加载到内存中的数据,redis会通过异步的方式将数据写入磁盘,实现数据的持久化存储。
怎么理解Redis分布式的概念?
Redis支持的主从(Master-slave)的模式是其分布式架构中的一种。
Master会将数据同步到slave,而slave不会将数据同步到master。Slave启动时会连接master来同步数据。
该模式支持读写分离,可以利用master来插入数据,slave提供检索服务。