一,温习Redis (详解从安装到配置)

Redis(非关系型数据库)

数据库分类

关系型数据库

非关系型数据库

关系型数据库:一般面向于记录,借助集合代数等数学概念和方法来处理数据库中的数据,SQL语句是一种标准的数据库查询语言,用于对关系型数据库的检索和操作

主流:Oracle, MySQL, SQL Server,Microsoft Access,DB2 

非关系型数据库:它有一个总称”NoSQL” 意思是不仅仅是SQL,这类数据库他们的存储方式,存储结构以及使用的场景是完全不同的。具有非关系型,分布式,开源和横向扩展等优势。

主流:Redis,MongBD,Hbase,CouhDB

使用场景:随着web网站的兴起,关系型数据库在应对web网站,特别是海量数据和高并发时

主要处理生产环境下的问题:

对数据库高并发读取要求(网站访问量大)

对海量的数据高效存储与访问需求(存储大量用户的数据)

对数据库高扩展性与高可用性需求

Redis介绍:

使用C语言编写的,基于内存运行并支持持久化,采用键值对(key),所以主要依靠于内存!

redis是单进程,可以一台服务器上开启多个redis进程,要根据实际情况来做

安装方式有两种,一种是YUM直接安装,一种是源码包,编译安装

****源码包编译安装(redis-4.0.9.tar.gz****

注意:编译时不用./Configure来编译,因为是redis源码包中直接提供了makefile文件

解压包

#tar xfv redis-4.0.9.tar.gz -C /usr/src/

编译包

#cd /usr/src/redis-4.0.9

 

其中redis.conf是主配置文件,可定义自己想要的配置(例如:开放端口等)

#make(有可能会出现报错,如果出现报错,就再重新来一遍)

#make PREFIX=/usr/local/redis install

#cd /src && make install

编译安装完成后,需要给它命令做一下软连接

#ln -s /usr/local/redis/bin/* /usr/local/bin/

到此redis算是基本安装完成,但是没有启动脚本和配置文件

软件包中提供一个install_server.sh脚本文件,通过该文件可以设置服务所需要的相关配置文件,当脚本运行完毕,服务实例即启动,默认端口6379

找到软件包里的脚本并运行

如图:

 

解释:

Please select the redis port for this instance: [6379] 请为这个实例选择redis端口:[6379]

Please select the redis config file name [/etc/redis/6379.conf](请选择redis配置文件名[/etc/redis/6379.conf]

Please select the redis log file name [/var/log/redis_6379.log](请选择redis日志文件名[/var/log/redis_6379.log]

Please select the data directory for this instance [/var/lib/redis/6379](请选择此实例的数据目录[/var/lib/redis/6379]

Please select the redis executable path [/usr/local/bin/redis-server](请选择redis可执行路径[/usr/local/bin/redis-server](服务端的命令))

以上在创建实例时,都可根据自己需要的来创建,创建完成后即启动

开放端口:

 

安装完成后,可以根据控制脚本来对实例服务进行控制,如启停服务等(/etc/init.d/redis_6379

 

Redis 实例服务的主配置文件(/etc/redis/6379.conf)详解

可根据生产环境进行相关参数的调整:

#cat /etc/redis/6379.conf

70  bind 127.0.0.1 192.168.30.201        //监听的主机地址(实例在本机就本机地址)

93  port 6379                         //端口

114 timeout 0                         //客户端闲置多长时间关闭,0:表示关闭该功能

137 daemonize yes                    //开启守护进程

159 pidfile /var/run/redis_6379.pid         //制定PID文件

167 loglevel notice                       //日志级别

172 logfile /var/log/redis_6379.log           //日志文件

252 dbfilename dump.rdb         //指定本地数据库文件名,默认值为dump.rdb (持久化)

531 # maxclients 10000      //最大客户端连接数,为0时是不限制,如果达到最大,会返回客户端max number of clients reached 错误信息

240 rdbcompression yes     // 指定是否要压缩数据,默认是,为了节省cpu资源

280 # slaveof <masterip> <masterport>    //设置主从时用到的,这个是从指定主的IP和端口

287 # masterauth <master-password>    //主端的密码

499 # requirepass foobared      //指定连接redis密码,如果有,客户端连接时要输密码,默认关闭状态

558 # maxmemory <bytes>            //指定redis最大内存限制

671 appendonly no       //redis默认是异步的把数据写入磁盘,如果不开启,可能会造成数据丢失,默认是NO

675 appendfilename "appendonly.aof"  //指定更新日志文件,默认

701 appendfsync everysec //指定更新的日志文件(no/always/everysec)默认是每秒同步一次

1127 activerehashing yes                //指定是否激活重置哈希,默认开启

36 # include /path/to/local.conf   //引用其他文件,可以一台主机多个实例同一份文件

这里只需要修改bind即可,修改完后重启即可

 

原文地址:https://www.cnblogs.com/123456likun/p/13827294.html