目录
一、Redis数据库
1、简介
redis是一个开源的、使用c语言编写的NoAQL数据库。Redis基于内存运行并支持持久化,采用key-value键值对的存储形式,是目前分布式架构中不可或缺的一环。
Redis是服务器程序是单进程模型,也就是在一台服务器上可以同时启动多个Redis进程,Redis的实际处理速度啧是完全依靠于主进程的执行效率,若在服务器上值运行一个redis进程,当多个客户端同时访问,服务器的处理能力会有一定的下降。若是在同一个服务器上开启多个redis进程,redis在提高并发处理能力的同时会给服务器的cpu造成很大压力。即在实际生产环境中,需要根据实际的需求来决定开启多少个redis的进程,并对高并发要求更高一些,可能会考虑在同一台服务器上开启多个进程。若cpu资源比较吃紧,可以采用单进程。
2、redis优点
①极高的数据读写速度
数据读取的速度最高可达110000次/s,数据写入速度最高可达到81000次/s。
②丰富的数据类型
支持key-value、Strings、Lists、Hashes、Sets及Ordered Sets等数据来支持操作。
③数据持久化
可以将内存中的数据写入到磁盘中,重启的时候可以再次加载进行使用。
④原子性
Redis所有操作都具有原子性。
⑤数据备份
master-slave模式的数据备份。
二、非关系型和关系型数据库
1、非关系型数据库
①NoSQL,是非关系型数据库的总称
②除了主流的关系型数据库外的数据库,都认为是非关系型
③主流的NoSQL数据库有Redis、MongoDB、Hbase、CouhDB等
不需要预先建立库和表定义数据存储表结构,每条记录可以有不同的数据类型和字段个数
2、关系型数据库
①一个结构化的数据库,创建在关系模型基础上
②一般面向于记录
③主流的关系型数据库包括Oracle、MySQL、SQL Server、Microsoft Access、DB2等
以上数据库在使用的时候必须先建库建表设计表结构,然后存储数据的时候按表结构去存,如果数据与表结构不匹配就会存储失败。
3、关系型和非关系型的区别
①存储方式不同
关系型是表格式,存储在数据表的行和列中,表与表之间相互关联、协作存储。
非关系型是存储在数据集中。
②扩展方式不同
关系型是纵向扩展,有很大的扩展空间,但是最终还是会达到纵向扩展的上限。
非关系型是横向扩展,因为非关系型数据库存储是分布式的,所以扩展可以通过给资源池添加更多普通的数据库服务器节点来分担负载。
③对事务的支持不同
关系型数据库在性能和稳定性方面占优,支持对事务原子性细粒度控制,易于回滚。
非关系型数据库在操作的扩展性和大数据量处理方面占优。
三、Redis部署
1、安装依赖环境
2、编译安装
解压
make完成后 make PREFIX=/usr/local/redis install
因为redis源码包中直接提供了makefile文件,所以可以不用执行configure,直接make和make install
3、安装
在软件包的utils目录下有一个install_server.sh文件,文件里设置redis服务器所需要的相关配置文件
①默认端口6379
②配置文件路径
③日志文件路径
④数据文件路径
⑤可执行文件路径
这里需要手动输入可执行文件路径
⑥客户端命令工具