互联网三高(Nosql优点)
1、高并发 海量客户同时请求应用服务器
2、高负载 对海量数据高效率的存储和访问
3、高可用高扩展 通过添加服务器节点实现增大数据容量 并且自动存取到新的数据库
集群(用空间换时间)
比如一个服务窗口100人排队 集群就是再开三个服务窗口 每个队伍就变成了25人 减轻了每个服务器压力
关系型数据库 表跟表之间有关联 这就造成了增删都要考虑其他的表 生活在复杂的关系中,想干点啥都得考虑别人意见
非关系型数据库 自己就是全世界,孤儿一个,我说删就删,说增就增,非常迅速
redis是基于键值对形式存取数据
key就是字符串 值可以是
1、字符串
2.、有序可重复集合 linkedList
3、有序不可重复集合 sortSet
4、无序不可重复集合 set (无序必须不可重复)
5、键值对 map
在远程linux上安装redis,要安装c语言编译器yum,复制配置文件到解压后的文件里,永久开放端口6379.
java访问redis,通过一个类叫做jedis 就是java redis缩写成的,创建Jedis对象构造里面需要写上host跟port,然后直接get键或者set键值对就可以操作了。
通过jedisPool访问,类似于jdbc中的connection对象跟连接池的概念,jedis也有jedisPool,创建连接池的时候需要创建JedisPoolConfig对象,设置参数,然后扔进jedisPool的构造里,加上host跟port,在从jedisPool里getResource获得jedis对象。
redis特性,可以移库,可以发布订阅,假事务(就是大家排队一起等待,同时执行,自己执行自己的)
redis的持久化使用RDB或者AOF技术,rdb使用快照,aof使用日志记录操作过程。