redis的介绍和使用(一)

什么是NOSQL

不仅仅是sql,它可以做的事情比传统的sql关系型数据库更多,它们为非关系型数据库,利用键值对的形式来对数据进行存储。

NOSQL解决什么问题?

1,对数据库高并发读写的需求
现在数据库的并发负载特别高,往往每秒可以达到上万次的QPS,关系型数据库对于每秒上万次的查询还可以顶得住,但是对于每秒上万次的写数据请求,硬盘io就顶不住了!

2,对海量数据的高效率存储和访问的请求
对于关系型数据来说,在一张2.5亿条记录的表里进行sql查询,效率是极其低下的;

3,对数据库的高可扩展性和高可用性的需求
因为缓存可以设置分布式缓存,而nosql天生就具有分布式缓存的基因,高可用性更强!

主流的NOSQL产品

  • redis
  • mongoDB

mongoDB

mongoDB是文档型数据库,主要用在对于文本的存储中。

redis

redis是利用键值对来存储数据的,它使用c语言编写而成,它的数据主要是在内存中,所以速度非常快,而且它还有两种持久化方案来保证数据存储到硬盘中。在项目开发中,redis一般做分布式缓存使用。

redis的应用场景
  • 缓存(数据查询、短链接、新闻内容、商品内容等)
  • 聊天室的在线好友列表
  • 任务队列(秒杀、抢购、12306等)
  • 应用排行版
  • 网站访问统计
  • 数据过期处理(可以精确到毫秒)
  • 分布式集群架构中的session分离
redis的业务流程
  • 首先业务请求过来,先查询redis缓存中的有无请求数据;
  • 如果有,就返回数据给请求;如果没有,就向数据库中查询;
  • 向数据库查询出数据后,先存到redis中,再返回给用户;

这样做就大大降低了数据库的访问压力,提升了系统的健壮性!

redis的持久化方案
RDB分时持久化(默认)

数据有可能有丢失。在时间节点段中没有将数据持久化到硬盘的时候,如果发生意外,比如说机器死机重启等情况,就会造成数据丢失。那有没有什么好的解决方法呢?

AOF实时持久化

每次向redis中做增删改操作,都会持久化到硬盘上,这样子数据不会丢失,但是非常消耗计算机资源,比如说内存资源和CPU资源

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值