什么是NoSql?
Not-Only-Sql,泛指非关系型数据库
什么是关系型数据库?
数据结构:是一种有行有列的数据库
NoSql数据可是为了解决高并发,高可用,高可扩展、大数据存储而产生的数据库解决方案。
NoSql可以作为关系型数据库的良好补充,但是不能替代关系型数据库。
NoSql支持事务,但是支持的不是很好。
什么是redis?
redis键值(key-value)存储数据库
应用场景:内容缓存,主要用于大数据两的高访问负载
优点:快速查询? ? 缺点:存储的数据缺少结构化
Redis是用C语言开发的一个开源的高性能键值对内存数据库,它是一种NoSql数据库。
它是【单进程单线程】的内存数据库,所以说不存在线程安全的问题。
它可以支持并发10W QPS(每秒查询数),性能非常优秀。单进程单线程性能还能这么好,是因为底层采用了【IO多路复用(NIO思想)】
它提供了五种数据类型来存储【值】:字符串类型(string)、散列类型(hash)、列表类型(list)、集和类型(set)、有序集和类型(sortedset、zset)
Redis应用场景
内存数据库(登录信息、购物车信息、用户浏览记录等)
缓存服务器(商品数据、广告数据等等)(最多使用)
解决分布式架构中的session分离问题(session共享)
任务队列(秒杀、抢购、12306等)
分布式锁的实现
支持发布订阅的消息模式
应用排行榜(有序集和)
网站访问统计
数据过期处理(可以精确到毫秒)
string类型和hash类型的区别
hash类型适合存储对象数据,特别是对象属性经常发生【增删改】操作的数据。
string类型也可以存储对象数据,将java对象转换成字符串惊进行存储,适合【查询】操作。
?
?
|