学习内容
三 Redis基础数据类型详解
四 Redis高级命令
五 Redis与java的使用
六 Redis消息队列
七 Redis发布,订阅消息
八 Redis集群搭建
九 Redis集群与spring的整合/TomcatRedis的session共享
前言
关系型数据库和非关系型数据库的区别
关系型数据库: SQL Server,Oracle,Mysql,PostgreSQL
关系型数据库是指采用了关系模型来组织数据的数据库。简单来说,关系模式就是二维表格模型。
优点: 事务的一致性。容易理解,二维表的结构非常贴近现实世界,二维表格,容易理解。使用方便,通用的sql语句使得操作关系型数据库非常方便。易于维护,数据库的ACID属性,大大降低了数据冗余和数据不一致的概率。
缺点:海量数据的读写效率,对于网站的并发量高,往往达到每秒上万次的请求,对于传统关系型数据库来说,硬盘I/o是一个很大的挑战。高扩展性和可用性,在基于web的结构中,数据库是最难以横向拓展的,当一个应用系统的用户量和访问量与日俱增的时候,数据库没有办法像web Server那样简单的通过添加更多的硬件和服务节点来拓展性能和负载能力
非关系型数据库(nosql):MongoDB,Redis、CouchDB
NoSQL主要指那些非关系型的、分布式的,提出了另一种理念,以键值来存储,且结构不稳定,每一个元组都可以有不一样的字段,这种就不会局限于固定的结构,可以减少一些时间和空间的开销。使用这种方式,为了获取用户的不同信息,不需要像关系型数据库中,需要进行多表查询。仅仅需要根据key来取出对应的value值即可。
NoSQL的四大类,键值存储数据库,列存储数据库,文档型数据库,图形数据库
非关系型数据库特点:数据模型比较简单,对数据库性能要求较高,不需要高度的数据一致性。
一 (NOSQL)Redis 简介
redis是一种支持Key-Value等多种数据结构的存储系统,该数据库使用ANSI C语言编写支持网络,提供字符串,哈希,列表,队列,集合结构直接存取,基于内存,可持久化。键可以包含:字符串,哈希,list链表,set集合,zset有序集合。这些数据集合都支持push/pop,add/remove及取交集和并集以及更丰富的操作,redis支持各种不同的方式排序,为了保证效率,数据都是缓存在内存中,它也可以周期性的把更新的数据写入磁盘或者把修改操作写入追加到文件记。
redis的应用场景有哪些
- 会话缓存(最常用)
- 消息队列,比如支付3,活动排行榜或计数
- 发布,订阅消息(消息通知)
- 商品列表,评论列表等
redis 三种策略: 1: 主从机制 2: 哨兵机制 3: 集群机制(3.0后,数据可以均摊,可移植)
优点: 对数据高并发读写,对海量数据的高效率读写,对数据的高扩展性和高可用性,高可靠(持久化操作 rdb和aof日志常用)
缺点:redis( acid 处理非常简单) 无法做到太复杂的关系数据库模型。
二 Redis.conf 的配置文件介绍
1、开头说明
# Redis configuration file example.
#
# Note that in order to read the configuration file, Redis must be
# started with the file path as first argument:
#
# ./redis-server