在学redis之前先了解nosql(Not only sql)不是(no sql)。非关系型数据库
为什么需要nosql。
1.高并发读写:在目前的大型网站中,并发量非常高,可能每秒可能几万条数据。如果只是查询的话,关系型数据库还能应付,但是如果是读和写,就显得力不从心了。
2. 海量数据访问和存储
3.高可用和扩展性:数据库最难的是横向迁移。不能像web服务器添加硬件来做负载均衡
键值对存储:如redis,查询速度很快 缺少结构化
列存储:如hbase,查询速度快,可扩展强,但功能相对局限
文档存储:如mongodb, 数据结构要求不严格,但是查询性能不高,没有缺少统一的查询语法
图片存储:利用图结构,但是查询图片下需要计算,不容易做分布式
redis可存储的类型
1.字符串
2.列表
3.散列
4.集合
5 有序集合
redis的应用
1.缓存(查询,好友实时在线)
2.任务队列(抢购)
3.网站排行
4.过期数据处理
5.访问统计
6.分布式集群架构session的分离