redis 是哪个厂家的_现在满大街的项目都使用redis,那为什么需要redis

Redis是一款由Salvatore Sanfilippo编写的key-value内存数据库,属于NoSql数据库,提供丰富的数据结构如list、set等。其优势包括高性能、数据持久化、原子性操作及事务支持。作为缓存层,Redis能处理高并发流量,避免直接压力到数据库,确保数据最终一致性。相较于数据库查询缓存,Redis基于键值对的缓存方式对集群和数据变更影响较小。
摘要由CSDN通过智能技术生成

Redis的由来

什么是redis?它的全名是REmote DIctionary Server(远程字典服务),是一个由Salvatore Sanfilippo写的key-value内存型数据库。同时它也属于NoSql数据库,讲到这里有的人会问什么是NoSql数据库。

NoSql数据库特点

1.NOSQL数据库不支持SQL语法

2.存储结构都是kv形式(key value)

3.NOSQL的数据库没有一种通用语言,每种NOSQL都有自己的语法和api,以及擅长的业务和场景

比如Hbase、Mongodb等都属于nosql数据库。

回归正题,那redis有什么特点呢?

1. Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储;

2. Redis支持数据的持久化,例如RDB方式和AOF方式(后面会对此详细说明)

3. Redis支持数据备份,即master-slave模式的数据备份

Redis有哪些优势呢?

1.首先是性能高,每秒能达到读110000次,写81000次。

2.提供丰富的数据类型Stirng、List、Set、Hashes等。

3. Redis所有操作都是原子性的,要么成功要么失败,多个操作也支持事务。

4.丰富的特性例如支持订阅发布、key过期等。

为什么现在流行使用redis呢?

对于这个问题就要从数据库的发展史说起了,在很久很久以前,数据都是以文件的方式保存在磁盘上的。如果这时需要读取一行数据需要全量扫描整个磁盘,如果数据量小还好,数据流一旦变大了,因为受到磁盘带宽的影响,扫描寻找文件的时间就会变的越来越长。

大家应该试过在电脑磁盘中搜索某个文件,当你磁盘存了一百几十G的文件的时,是不是要搜索好久。所以为了解决这个问题,数据就诞生了。数据库采用分治和索引,之前数据放在文件里,如果要去磁盘查找文件,需要发生全量扫描,也就是全量io.数据库的诞生,一定是要避免全量扫描的发生.所以,数据库设计的时候,设计成了分治的形式.分成不同的datapage片区,每个片区4k,16k等可以设置.这样,我保存数据的时候,将数据放到不同的片区.那什么是索引呢,索引就好像一本字典的目录,记录着什么数据保存在什么位置,每单查找数据如果建立了索引,那么可以通过索引直接定位到数据存在哪个片区,避免了扫描全部片区。

既然数据解决了大部分问题了,那为什么需要使用redis呢?互联网发展到现在已经是大数据时代了,一个热点新闻,某电商网站的双十一抢购秒杀,春节期间的购票大战等,少则几十万,多则百万、千万级别的访问流量。那瞬间这么多请求直接压到数据库服务器,这是要集群多少台数据库服务器才能承受这些访问量,估计分分钟挂了。

这时就需要在用户与数据库之间再加一层缓冲层,让请求先访问到redis,由于redis基于内存的数据库,响应速度快,网络层使用epoll解决高并发问题,单线程模型避免了不必要的上下文切换及竞争条件。然后再定时把redis中的数据更新到数据库中,保证数据的最终一致性。

有些人说mysql也有缓存啊,在执行sql语句时,会将可以作为缓存的sql结果保存在查询缓存中,这样当有相同的SQL查询时,可以直接从缓存中查询结果。但是呢,你要知道这个缓存是本地缓存,例如mysql数据库A建立了一个sql1的缓存,当再次在数据库A上查询sql1这条语句时,可以直接从缓存中读取;如果此时mysql数据库做了集群增加了一台mysql数据库B,那如果sql1被请求到数据库B,那么它将无法使用缓存查询。而且单表结构或者内容发生变化时,这个表的缓存查询也将失效。

使用redis作为缓存将受这个影响很小,因为它是基于键值对保存缓存的,只有key对应的缓存内容发生变化,才会受到影响,其他key对应缓存内容发生变化对其几乎是没有影响的。

以上内容都属于对redis的背景知识了解,后面的文章将对redis的基础知识,如何正确使用redis以及redis集群哨兵模式等做讲解

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值