背景:数据从关系型数据库了读写效率比较低,数据量大的情况下,存在高并发的问题,为了解决这些问题,所以使用非关系型数据库(至于详细内容,后续再更新,这里写的只是个人的理解。)
那么问题来了:
1、关系型数据库和非关系型数据库,读写速度差异在哪里?
2、除了解决读写速度问题外,非关系型数据库还解决了哪些问题?
关系型数据库是将数据写在硬盘上,非关系数据库是写在内存里,是否服务器关机或在某些时候释放内存,则数据丢失?非关系数据库对内存的要求高些?
关系型数据库:mysql、sql server、oracle
非关系型数据库:redis、hbase、
no sql是什么?
no sql有哪些?
1、key-value(键值对):redis;
2、文档型:elasticsearch、solr、MongoDB、
3、面向列:hbase、cassandra
4、图形化:neo4j;
redis的应用场景有哪些?
1、缓存(数据查询、短连接、新闻内容、商品内容等);
2、聊天室的在线好友列表;
3、任务队列(秒杀、抢购、12306等);
4、应用排行榜
5、网站访问统计;
6、数据过期处理(可以精确到毫秒)
7、分布式集群架构中的session分离
redis的数据结构:
redis存储的是:key、value格式的数据,其中key都是字符串,value有5种不同的数据结构;
value的数据结构是:
1、字符串类型string;
2、哈希类型hash
3、列表类型list
4、集合类型set
5、有序集合类型sortedset
持久化:
因为redis是将数据存储在内存里,服务器一重启,数据会丢失,所以可以将redis内存的数据持久化保存在硬盘文件中;
持久化机制:
RDB:默认方式,不需要进行配置,默认就使用这种机制,(在一定间隔时间中,检测key的变化情况,然后持久化数据)
AOF:
jedis的使用
在服务器中,需要配置多少内存才能运转redis?
在java中如何连接redis?普通连接和连接池连接有什么区别?
redis在centos的安装:参考https://www.cnblogs.com/heqiuyong/p/10463334.html