侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

redis4.0安装、主从复制

2023-11-06 星期一 / 0 评论 / 0 点赞 / 35 阅读 / 4904 字

centos 6.8 x86_64 安装基本库 yum install -y wget make gcc tcl 下载最新稳定版 wget http://download.redis.io/relea

centos 6.8 x86_64

安装基本库
yum install -y wget make gcc tcl

下载最新稳定版
wget http://download.redis.io/releases/redis-4.0.1.tar.gz
tar zxvf redis-4.0.1.tar.gz
cd redis-4.0.1
make
make install

用自带的脚本添加为系统服务
cd utils
./install_server.sh

Welcome to the redis service installer
This script will help you easily set up a running redis server

Please select the redis port for this instance: [6379]
Selecting default: 6379
Please select the redis config file name [/etc/redis/6379.conf] /etc/redis/redis.conf
Please select the redis log file name [/var/log/redis_6379.log] /var/log/redis.log
Please select the data directory for this instance [/var/lib/redis/6379] /var/lib/redis/redis
Please select the redis executable path [/usr/local/bin/redis-server]回车
Selected config:
Port           : 6379
Config file    : /etc/redis/redis.conf
Log file       : /var/log/redis.log
Data dir       : /var/lib/redis/redis
Executable     : /usr/local/bin/redis-server
Cli Executable : /usr/local/bin/redis-cli
Is this ok? Then press ENTER to go on or Ctrl-C to abort.
Copied /tmp/6379.conf => /etc/init.d/redis_6379
Installing service...
Successfully added to chkconfig!
Successfully added to runlevels 345!
Starting Redis server...
Installation successful!

系统内核参数优化
echo "vm.overcommit_memory = 1" >> /etc/sysctl.conf
echo "net.core.somaxconn = 1024" >> /etc/sysctl.conf
sysctl -p

cat  /proc/sys/net/core/somaxconn

echo never > sys/kernel/mm/transparent_hugepage/enabled

启动
service redis_6379 start

停止

service redis_6379 stop
or在客户端
redis-cli
>shutdown

测试的话kill -9,免得输入密码,呵呵

一、主从配置

1、将主redis配置文件redis.conf中的
tcp-backlog 511改为1024
daemonize no 改为 yes
requirepass 生成环境建议设置>10位复杂password
masterauth 设置slave复制认证密码
dir ./改为具体目录/data/redis/

service redis restart

2、修改从redis配置文件redis.conf中的
daemonize no 改为 yes
requirepass 生成环境建议设置>10位复杂password
slaveof masterip
masterauth 设置为master上设置的密码
dir ./改为具体目录/data/redis/

service redis restart

3、测试数据同步

主redis:
# redis-cli
> auth password
> set name abc
OK
> get name
"abc"

从redis:
# redis-cli
> auth password
> get name
"abc"

4、默认是读写分离的

从redis只读:
# redis-cli
> set name 123
(error) READONLY You can't write against a read only slave.


二、主从切换

1、停止主redis
# redis-cli
>shutdown

2、将从redis设成主redis
# redis-cli
>slaveof NO ONE
OK

3、测试从redis是否切换从主redis

# redis-cli
> set name 123
OK
> get name
"123"

4、原来的主redis恢复正常了,重新切换回去

1)将现在的主redis的数据保存

# redis-cli
> get name
"abc"
> set name 123
OK
> get name
"123"
> save
OK
> get name
"123"

2)将现在的主redis的/data/redis/dump.rdb文件拷贝覆盖到原来主redis的根目录/data/redis/

3)启动原来的主redis
sevice redis restart

4)将原来slave(上面切换为master的)切换为master

# redis-cli
>slaveof masterIP
OK


常用命令:
> info  #查看server版本内存使用连接等信息  
> client list  #获取客户连接列表  
> client kill 127.0.0.1:33441 #终止某个客户端连接  
> dbsize #当前保存key的数量  
> save #立即保存数据到硬盘  
> bgsave #异步保存数据到硬盘  
> flushdb #当前库中移除所有key  
> flushall #移除所有key从所有库中  
> lastsave #获取上次成功保存到硬盘的unix时间戳  
> monitor #实时监测服务器接收到的请求  
> slowlog len #查询慢查询日志条数  
(integer) 3   
> slowlog get #返回所有的慢查询日志,最大值取决于slowlog-max-len配置  
> slowlog get 2 #打印两条慢查询日志  
> slowlog reset #清空慢查询日志信息  

 

广告 广告

评论区