redis相关配置


下载安装

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
  编译安装完成后,redis默认会将redis命令添加到环境变量中/usr/local/bin底下

5.启动服务

启动redis服务端前,自定义一个redis-6379.conf

vim redis-6379.conf ,写入以下内容(不要加上注释)
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 mima       #给redis添加密码

redis的安全模式,可能会阻挡你远程连接,为了解决这个安全模式,给redis设置一个密码

启动第一个redis实例(第二个数据库)
redis-server redis-6379.conf

6.redis多实例功能

可以在一个机器上,启动多个redis服务端
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 mima2

2.启动第二个redis实例(第二个数据库)
redis-server redis-6380.conf

8.通过命令查询redis的密码参数
CONFIG get requirepass

redis发布订阅

1.一个发布者,多个订阅者
2.支持正则的匹配订阅者


-a 参数意思是指定redis的密码登录
redis-cli -a mima #启动1个redis客户端 (订阅者1)
  SUBSCRIBE diantai1
  PSUBSCRIBE diantai*

redis-cli -a mima #启动2个redis客户端(订阅者2)
SUBSCRIBE diantai1
PSUBSCRIBE diantai*

redis-cli -a mima #启动3个redis客户端(发布者)
PUBLISH diantai1 想发送的消息
PUBLISH diantai1-10 发送的消息

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持久化

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文件中,以达到持久化的操作


redis 持久化方式有哪些?有什么区别?

rdb:基于快照的持久化,速度更快,一般用作备份,主从复制也是依赖于rdb持久化功能

aof:以追加的方式记录redis操作日志的文件。可以最大程度的保证redis数据安全,类似于mysql的binlog

RDB数据切换AOF数据的操作

1.配置redis.conf文件确保是开启了rdb功能

port 6379
    daemonize yes
    pidfile /data/redis.pid 
    loglevel notice 
    logfile "/data/redis.log"
    dir /data/

    #  RDB持久化  
    dbfilename  dbmp.rdb
    save  900 1
    save 300 10
    save 60  10000    

2.启动redis服务端

redis-server redis.conf 

3.插入redis数据,通过save命令,强制写入持久化rdb文件(此时还是使用rdb持久化)

set name  beijing
set age 11
save     # 手动触发rfb的持久化

4.通过命令,切换到aof持久化,(注意此步只是临时生效,必须将AOF的配置,写入redis.conf)

set appendonly yes   #开启AOF功能

set save ""  #关闭RDB功能


5.修改配置文件,添加aof参数,(此步重启后,rdb持久化完全切换aof持久化,且数据保持一致)

port 6379
daemonize yes
pidfile /data/redis.pid 
loglevel notice 
logfile "/data/redis.log"
dir /data/
appendonly yes
appendfsync  everysec 

6.重启redis服务j进行测试

redis主从复制

1.环境准备

redis-6380.conf
redis-6381.conf
redis-6382.conf
三个配置文件的区别,仅仅是端口的不同修改即可


文件中代码如下 !修改端口

port 6380
daemonize yes
pidfile /data/6380/redis.pid
loglevel notice
logfile "/data/6380/redis.log"
dbfilename dump.rdb
dir /data/6380
protected-mode no

2.启动三个redis实例

redis-server 6380.conf 
redis-server 6381.conf 
redis-server 6382.conf                                     

3.查看redis身份信息

通过info参数()此时还未配置主从,因此都是master身份

redis-cli -p 6382 info Replication
redis-cli -p 6381 info Replication
redis-cli -p 6380 info Replication

4.配置从节点的身份

6380为主,6381,6382为从,通过命令指明master节点信息即可

SLAVEOF 127.0.0.1 6380 

SLAVEOF 127.0.0.1 6380 

5.查看从节点的身份

redis-cli -p 6382 info Replication    从节点
redis-cli -p 6381 info Replication    从节点
redis-cli -p 6380 info Replication    主节点

手动切换主从身份

1.将主节点挂掉
kill -9 主节点 6380

2.将6382去掉slave的身份
redis-cli -p 6382 slaveof no one 

3.将6381设置新的主人,设置为6382
redis-cli -p 6381 slaveof 127.0.0.1 6382 

通过配置文件,决定主从身份

1.在配置文件中,添加一条参数即可(主节点不做配置,从节点指明主人的ip端口信息即可)
port 6380
daemonize yes
pidfile /data/6380/redis.pid
loglevel notice
logfile "/data/6380/redis.log"
dbfilename dump.rdb
dir /data/6380
protected-mode no
slaveof 127.0.0.1 6381

优质内容筛选与推荐>>
1、P1692 部落卫队
2、对象创建型 - 建造者(生成器)模式
3、项目整合管理
4、React Native 的ES5 ES6写法对照表
5、Swift开源项目精选


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号





    联系我们

    欢迎来到TinyMind。

    关于TinyMind的内容或商务合作、网站建议,举报不良信息等均可联系我们。

    TinyMind客服邮箱:support@tinymind.net.cn