Redis(1)

Redis是一个在内存中存储数据的中间件。

1.在内存中存储数据。

通过数据结构来存储,mysql通过表的方式存储数据,是关系型数据库,redis通过键值对存储,key的类型是string,value的类型是非关系型数据库。

2.可编程的

redis可以直接通过交互式命令,也可以通过一些脚本的方式批量处理,并且从中可以带有逻辑

lua是一个脚本语言。

3.可扩展的

通过这几个语言编写Redis扩展(本质上是一个动态链接库),可以让我们自己扩展redis功能

动态链接库:window下载安装下面除了exe文件以外还有很多dll就是动态链接库,就是里面存放了很多函数,让exe文件运行的时候调用 。

4.持久化:

redis会把数据也存一份到硬盘中,就是备份了一份数据到硬盘上,防止断电数据丢失。重启的话,硬盘会把数据读到内存中。

5.集群

redis支持集群

这里的水平扩展,就类似于分库分表,一个redis存储的数据是有限的,引入多个主机,部署多个redis节点,每个节点存储数据的一部分。、

6.高可用:

redis支持主从同步,从节点相当于主节点的备份,系统可用性很高。

7.快!!!!!!!!!!!

  1. 数据在内存中,比访问硬盘快很多
  2. redis实现的比较简单的逻辑。都是操作内存中的数据。 (mysql有读主键什么的)
  3. 从网络使用io多路复用的功能:用一个线程管理很多个socket 
  4. redis使用的是单线程,减少了不必要的线程之间的竞争开销,redis主要操作内存的数据结构,不会吃很多cpu,不然就会多线程阻塞。
  5. (也许)redis使用c语言开发的,所以快,但是mysql也是c语言开发的

Redis的主要应用场景:

  1. 把redis当作数据库,对效率要求高,(广告搜索,把所有需要检索的数据都存储在内存中)。redis此时存储的是全量数据,redis不能随便丢失的。
  2. 缓存:还可以从mysql这边加载
  3. cookie和session相互配合,session存储在应用程序中,把session存储在redis上边
  4. 消息队列:(消息队列服务器)实现生产者消费者模型,分布式之间也会用到消息队列:解耦合和削峰填谷。 

Redis不能做的事情:

  1. 存储大规模数据。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值