为什么使用 Redis ?

Redis是一个高性能的key-value存储系统,支持丰富的数据类型,适用于缓存、消息发布订阅等场景。它相比memcached提供了持久化和主从同步功能。NoSql数据库如Redis在大数据量、高并发下表现优异,其优势包括易扩展、性能高和灵活的数据模型。Redis的使用需要注意并发竞争key、缓存一致性等问题,可以通过事务、分布式锁等方式解决。Redis的过期策略结合了定期删除和惰性删除,确保内存管理。在实际应用中,根据业务需求权衡使用Redis的优缺点。
摘要由CSDN通过智能技术生成

Redis特点

  •  Redis是一个高性能(支持并发11万读8万写)的key-value存储系统。
  • 支持丰富的存储value类型,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。
  • Redis支持主从同步。数据可以从主服务器向任意数量的从服务器上同步,从服务器可以是关联其他从服务器的主服务器。
  • 虽然运行在内存,同时支持持久化。提供两种方式:1保存到数据文件.rdb安全性高,但对效率有影响。2保存对数据有影响的操作命令到.aof中,保存操作命令的频率可配置,比较灵活,效率高。
  • 支持订阅发布功能(subscribe/publish)
  • Redis 很大程度补偿了memcached这类key/value存储的不足,在部分场合可以对关系数据库起到很好的补充作用。它提供了Python,Ruby,Erlang,PHP客户端,使用很方便。

redis是Nosql数据库中使用较为广泛的非关系型内存数据库,redis内部是一个key-value存储系统。redis基于内存运行并支持持久化的NoSql数据库,是当今最热门的NoSql数据库之一,也被称为数据结构服务器。1.主要是支持持久化  2.支持更多数据结构  3.支持主从同步


memcached和redis的比较

 


为什么要使用NoSql?

 1. 当数据量的总大小一个机器放不下时。

 2. 数据索引一个机器的内存放不下是。

 3. 访问量(读写混合)一个实力放不下时

单机时代模型

如果每次存储成千上万条数据,这样会导致MySql的性能很差,存储和读取速度很慢,然后演变为:

缓存+mysql+垂直拆分方式

cache作为中间缓存,将所有的数据先保存到缓存中,然后在存入mysql中,减小数据库压力,提高效率。

但是当数据再次增加到一个量级,上面的方式也不能满足需求,由于数据库的写入压力增大,Memcached只能缓解数据库的读取压力。读写集中在一个数据库上让数据库不堪重负,大部分网站开始使用主从复制技术来达到读写分离,以提高读写性能和读库的可扩展性。然后形成了:

主从分离(master-slave)模式

在redis的告诉缓存,mysql的主从复制,读写分离的基础上,这时MySql主库的写压力开始出现瓶颈,而数据量的持续猛增,由于myISAM使用表锁,在高并发下会出现严重的锁问题,大量的高并发mysql应用开始使用InnoDB引擎代替MyISAM。然后形成了:

分表分库模式

将变化小的,业务相关的放在一个数据库,变化多的,不相关的放在一个数据库。


NoSql数据库的优势

 1. 易扩展

这些类型的数据存储不需要固定的模式,无需多余的操作就可以进行横向的扩展。相对于关系型数据库可以减少表和字段特别多的情况。在架构的层面上又可扩展的能力。

2. 大数据量性能高

3. 多样灵活的数据模型

在nosql中不仅可以存储st

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值