Linux-08 redis安装配置
引言
1.yum 源码 rpm yum 快速,间接,高效,解决依赖关系,(自动安装到某个路径,不可控),通过yum安装的软件查询命令 rpm -ql nginx yum源的软件包可能版本非常低 源码安装,可扩展第三方的功能(可以指定目录安装, configure --prefix=/opt/python36/) 可以通过官网的最新代码,进行编译安装
1.通过源码安装,在线下载redis源码包
wget http://download.redis.io/releases/redis-4.0.10.tar.gz
2.解压缩redis源码包,如果源码包带有.gz结尾,需要通过gzip指令扩展,也就是-z的参数
tar -zxvf redis-4.0.10.tar.gz #解压缩这个文件,且显示解压缩过程
3.切换目录到redis源码包
cd redis-4.0.10
4.由于redis没有configure脚本,直接就有了makefile,因此可以直接编译且安装
make #编译 make install #安装 #此两条命令可以缩写为一条, make && make install
5.编译安装完成后,redis默认会将redis命令添加到环境变量中/usr/local/bin底下
which redis-server看下
6.启动redis服务端,自定义一个redis.conf ,不用原本自带的redis.conf
mv redis.conf redis.conf.bak # 原本自带的redis.cof改个名字 grep -v '^#' redis.conf.bak | grep -v '^$' 过滤掉所有的注释行和空白行 grep -v '^#' redis.conf.bak | grep -v '^$' > redis.conf 过滤掉所有的注释行和空白行重定向写入到新的文件中 使用VIM命令 dG(重头删到尾) vim redis.conf ,写入以下内容(!!不要加上注释!!!) bind 0.0.0.0 #把127.0.0.1改为0.0.0.0,windows的pycharm就可以连接上 port 6379 daemonize no #后台运行redis pidfile /data/6379/redis.pid #将redis进程的id写入到redis.pid这个文件 loglevel notice #日志级别 logfile "/data/6379/redis.log" dir /data/6379 #配置redis数据存放点 protected-mode yes #redis3.0之后的安全模式 requirepass qiangdademima #给redis添加密码 redis的安全模式,可能会阻挡你远程连接,为了解决这个安全模式,给redis设置一个密码 以下命令用于查看与测试: mkdir -p /data/6379 #创建这个目录 redis-server redis.conf 启动redis ps -ef|grep redis 查看redis进程 $netstat -tunlp|grep 6379 查看6379这个端口 redis-cli ping auth qiangdademima 或者redis-cli -a qiangdademima history 查看你输入的历史命令 ,可以配合!+(命令)或者!+(历史命令Id) 例如!ps 或!288 pkill nginx 杀死nginx所有相关进程
7.redis的多实例功能,可以在一个机器上,启动多个redis服务端
cp redis.conf redis-6380.conf 1.准备一个新的配置文件,redis默认支持多实例,再准备一个新的配置文件redis-6380.conf,内容如下: port 6380 bind 0.0.0.0 daemonize yes pidfile /data/6380/redis.pid loglevel notice logfile "/data/6380/redis.log" dir /data/6380 protected-mode yes requirepass zeiqiangdademima 2.启动第二个redis实例(第二个数据库) mkdir -p /data/6380 redis-server redis-6380.conf 3.新建的服务窗口 redis-cli -p 6380 ping auth qiangdademima
8.通过命令查询redis的密码参数
CONFIG get requirepass
redis持久化之rdb与aof(重要)
rdb模式
1.在配置文件中写入参数,支持rdb模式 vim redis.conf port 6379 bind 0.0.0.0 daemonize yes pidfile /data/6379/redis.pid loglevel notice logfile "/data/6379/redis.log" dir /data/6379 protected-mode yes requirepass qiangdademima dbfilename dbmp.rdb save 900 1 save 300 10 save 60 10000 2.启动redis服务端,此时可以设置redis的key,通过save命令触发rdb持久化 redis-cli set name cj set age 27 save
aof模式
1.vim redis.conf #写入以下 daemonize yes port 6379 logfile /data/6379/redis.log dir /data/6379 dbfilename dbmp.rdb requirepass redhat save 900 1 save 300 10 save 60 10000 appendonly yes appendfsync everysec 2.启动redis-server服务端,默认就会生成appendonly.aof持久化文件 此时进入redis-cli的操作,都会被记录,且追加到appendonly.aof文件中,以达到持久化的操作 cd /data/6379 tail -f appendonly.aof #实时监控看下
redis 持久化方式有哪些?有什么区别?
rdb:基于快照的持久化,速度更快,一般用作备份,主从复制也是依赖于rdb持久化功能 aof:以追加的方式记录redis操作日志的文件。可以最大程度的保证redis数据安全,类似于mysql的binlog
幻想毫无价值,计划渺如尘埃,目标不可能达到。这一切的一切毫无意义——除非我们付诸行动。