二十三 NoSql&Redi及其安装
什么是Nosqlnot only sql,不仅仅是sql,是一项全新的数据库理念,泛指非关系型的数据库。 ? 为什么需要NoSql解决以下问题: 1?High?Performance? ?对数据库高并发读写的要求 例如电商的秒杀,一瞬间很多人访问仓库。投票计数等等 2?Huge?Storage? 对海量数据的高效率存储和访问的需求 例如QQ,推特等等,几亿用户,产生的信息量关系型数据库很难应付。 3?High?Scalability &&?High?Availability? 对数据库的高可拓展性和高可用性的需求 基于web的架构中,数据库是最难进行横向扩展的。当一个应用系统的用户量和访问量与日俱增的时候 你的数据库却没法像WebServer和app?Server?那样简单的通过添加更多的硬件和服务结点来扩展性能和负载能力。 NoSql数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其大数据应用难题 ? 主要的数据放在关系型数据库里面,性能提升的数据放在Redis里面 ? NoSQL数据库的四大分类:键值对存储数据库:
列存储数据库:
文档型数据库:
图形数据库:? 产品:InfoGrid 典型应用:社交网络 数据模型:图结构 优势:利用图结构相关算法 劣势:需要对整个图做计算才能得出结果,不容易做分布式的集群方案 ? ? NoSQL主流:RedisRedis:用C语言开发的一个直接操作内存的开源的高性能键值对数据库,它提供多种数据类型来适应不同场景下的存储需求 目前为止Redis支持的键值数据类型如下:
官方测试数据:50个并发执行100000,读的速度是110000次/秒,写的速度是81000次/s. ? Redis应用场景:
? Redis的安装:Redis的安装包:源码形式提供,.c文件 将.c编译为.o文件?需要安装gcc依赖 将编译后的文件安装在Linux上 等价于?希望在当前系统上安装一个java版本的QQ,而下载到的安装文件是以.java这样的源码形式提供 需要: 下载Gcc :在系统上有JDK(gcc) 编译:通过JDK将源码编译为字节码 安装:编译依赖gcc环境,需要安装gcc ? Redis的启动:1前端模式启动:不推荐 只接短信bin/redis-server,缺点是启动完成后不能进行其他操作,除非用Ctrl+C结束程序,不推荐使用 2?后端启动 redis-cli连上redis服务后,可以在命令行发送命令 ping:测试客户端与Redis的连接是否正常,如果连接正常会受到回复PONG set/get :?向Redis设置数据、获取数据? set name mary?? get name?? del:删除指定key的内容??del?key1 ? Redis的数据结构:。。。。未完待续 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |