1.NoSQL数据库
Nan 2022-3-5 Redis
负载均衡场景
解决session问题?
方案:
- 存在客户端cookie;可能会存在安全问题
- 每个服务器都进行session复制;session一样,会浪费资源
- 使用NoSQL数据库,存在内存中,读写速度快
NoSQL数据库
NoSQL数据库,泛指非关系型数据库
以简单的key-value模式存储
- 不遵循SQL标准
- 不支持ACID
- 远超于SQL的性能
适用场景
- 对数据高并发的读写
- 海量数据的读写
- 对数据高可扩展性的
不适用的场景
需要事务支持
基于sql的结构化查询存储,处理复杂的关系,需要即席查
==用不着sql的和用了sql也不行的情况,请考虑用NoSql==
常用的NoSQL数据库
Memcached
很早
出现的NoSQL数据库 数据都在内存中,一般不持久化
支持简单的key-value模式,
支持类型单一
一般是作为
缓存数据库
辅助持久化的数据库Redis
几乎覆盖了Memcached的绝大部分功能
数据都存在内存中,
支持持久化
,主要用做备份恢复除了支持简单的key-value模式,还
支持多种数据结构的存储
,比如list、set、hash、zset
一般是作为
缓存数据库
辅助持久化的数据库MongoDB
高性能、开源、模式自由的
文档型数据库
数据都存在内存中,如果内存不足,会把不常用的数据存到硬盘中
虽然是key-value 模式,但是对value(尤其是
json
)提供了丰富的查询功能支持二进制数据及大型对象
可以根据数据的特点代替
RDBMS
,成为独立的数据库,或者配合RDBMS,存储特定的数据