为什么要使用redis数据库?
来源:互联网 发布:网络艺术研究 编辑:程序博客网 时间:2024/05/16 14:43
1、 redis简介
redis是Nosql数据库中使用较为广泛的非关系型内存数据库,redis内部是一个key-value存储系统。它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set –有序集合)和hash(哈希类型,类似于Java中的map)。Redis基于内存运行并支持持久化的NoSQL数据库,是当前最热门的NoSql数据库之一,也被人们称为数据结构服务器。
2、 互联网时代背景下大机遇,什么要使用Nosql?
1) 当数据量的总大小一个机器放不下时。
2) 数据索引一个机器的内存放不下时。
3) 访问量(读写混合)一个实例放不下时。
单机时代模型
如果每次存储成千上万条数据,这样很会导致mysql的性能很差,存储以及读取速度很慢,然后就演变成缓存+mysql+垂直拆分的方式。
Cache作为中间缓存
将所有的数据先保存到缓存中,然后再存入mysql中,减小数据库压力,提高效率。
但是当数据再次增加到又一个量级,上面的方式也不能满足需求,由于数据库的写入压力增加,Memcached只能缓解数据库的读取压力。读写集中在一个数据库上让数据库不堪重负,大部分网站开始使用主从复制技术来达到读写分离,以提高读写性能和读库的可扩展性。Mysql的master-slave模式成为这个时候的网站标配了。
主从分离模式
在redis的高速缓存,MySQL的主从复制,读写分离的基础之上,这时MySQL主库的写压力开始出现瓶颈,而数据量的持续猛增,由于MyISAM使用表锁,在高并发下会出现严重的锁问题,大量的高并发MySQL应用开始使用InnoDB引擎代替MyISAM。
分表分库模式
将变化小的、业务相关的放在一个数据库,变化多的,不相关的数据放在一个数据库。
3、 nosql数据库的优势
1)易扩展
这些类型的数据存储不需要固定的模式,无需多余的操作就可以进行横向的扩展。相对于关系型数据库可以减少表和字段特别多的情况。也无型之间在架构的层面上带来了可扩展的能力
2)大数据量提高性能
3)多样灵活的数据模型
在nosql中不仅可以存储String,hash,set、Zset等数据类型,还可以保存javaBean以及多种复杂的数据类型。
4、 NoSql的应用
1) 大数据时代淘宝、微信、以及微博等都广泛的使用了redis数据库,将一些固定不变的数据例如学校,区域等固定的信息保存在关系型数据库中。然后对于经常变化的数据例如淘宝每个节日都会有比较热门的搜索显示在搜索框,当节日过去关键字自动删除,为了便于管理,可以将这些数据保存在redis数据库中,并设置过期时间,到达时间就自动删除。
2)为了缓解数据库压力,微博首先将发送的微博保存到redis数据库,自己可以立即查看到,然后将内存中的数据同步到关系型数据库。
- 为什么要使用redis数据库?
- 为什么要使用redis数据库?
- 为什么要使用redis?
- 为什么要使用redis?
- 为什么要使用redis
- 为什么要引入数据库缓存,如redis?
- 为什么使用redis?
- 为什么使用Redis
- 为什么使用redis
- 为什么使用redis
- 为什么要使用NoSQL数据库
- redis为什么要集群
- 为什么要用到redis?
- 为什么要用redis
- 数据库驱动为什么要使用Class.forName()
- 为什么要使用反射加载数据库驱动
- 为什么要使用Redis中pconnect创建连接(1)
- 为什么我的项目中要使用Redis
- vue.js之路(4)——vue2.0s中eventBus实现兄弟组件通信
- 大型网站架构之分布式消息队列
- 文章标题
- telnet root 登陆问题
- android中的线程机制(二)—SocketCallBack
- 为什么要使用redis数据库?
- Mac OSX10.12 上安装配置caffe(无GPU)
- Java list<T> 去重复 数据
- 搭建kindleEAR为kindle推送RSS订阅
- 【工业相机Pointgray配置VS2012】Pointgray配置VS2012并将Pointgray类型转换成Mat类型
- oc客服端向服务端传输数据的加密
- golang 设置web请求状态码
- html——跑马灯以及背景音乐的实现
- Linux环境下如何通过WMI对windows进行监控