温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Redis_3.2.4 主从部署

发布时间:2020-06-24 23:23:17 来源:网络 阅读:504 作者:蓝宫卫 栏目:数据库


系统:Centos6.6x64

版本:redis-3.2.4

安装目录:/opt/

主:172.16.15.103

从:172.16.15.104


1,下载安装:

安装依赖:

# yum install gcc tcl ruby -y 

# wget http://download.redis.io/releases/redis-3.2.4.tar.gz

# tar xf redis-3.2.4.tar.gz

# mv redis-3.2.4 /opt/redis

# cd /opt/redis

# make 

# make test 


2,内核修改配置

echo "vm.overcommit_memory=1" >> /etc/sysctl.conf

/sbin/sysctl -p


3, iptables/selinux及内核设置:

# cat /etc/sysconfig/iptables 

-A INPUT -p tcp -m state --state NEW -m tcp --dport 6379 -j ACCEPT


4,创建数据日志目录

#mkdir -p redis/{log,data}


5,redis 主从配置

主服务:172.16.15.103

# cat redis.conf

bind 172.16.15.103

protected-mode yes

port 6379

tcp-backlog 511

timeout 0

tcp-keepalive 300

daemonize yes

supervised no

pidfile /var/run/redis_6379.pid

loglevel notice

logfile /opt/redis/log/redis.log

databases 16

save 900 1

save 300 10

save 60 10000

stop-writes-on-bgsave-error yes

rdbcompression yes

rdbchecksum yes

dbfilename dump.rdb

dir /opt/redis/data

requirepass 1qaz@WSX

slave-serve-stale-data yes

slave-read-only yes

repl-diskless-sync no

repl-diskless-sync-delay 5

repl-disable-tcp-nodelay no

slave-priority 100

appendonly no

appendfilename "appendonly.aof"

appendfsync everysec

no-appendfsync-on-rewrite no

auto-aof-rewrite-percentage 100

auto-aof-rewrite-min-size 64mb

aof-load-truncated yes

lua-time-limit 5000

slowlog-log-slower-than 10000

slowlog-max-len 128

latency-monitor-threshold 0

notify-keyspace-events ""

hash-max-ziplist-entries 512

hash-max-ziplist-value 64

list-max-ziplist-size -2

list-compress-depth 0

set-max-intset-entries 512

zset-max-ziplist-entries 128

zset-max-ziplist-value 64

hll-sparse-max-bytes 3000

activerehashing yes

client-output-buffer-limit normal 0 0 0

client-output-buffer-limit slave 256mb 64mb 60

client-output-buffer-limit pubsub 32mb 8mb 60

hz 10

aof-rewrite-incremental-fsync yes



从服务:172.16.15.104

# cat redis.conf

bind 172.16.15.104

protected-mode yes

port 6379

tcp-backlog 511

timeout 0

tcp-keepalive 300

daemonize yes

supervised no

pidfile /var/run/redis_6379.pid

loglevel notice

logfile /opt/redis/log/redis.log

databases 16

save 900 1

save 300 10

save 60 10000

stop-writes-on-bgsave-error yes

rdbcompression yes

rdbchecksum yes

dbfilename dump.rdb

dir /opt/redis/data

slaveof 172.16.15.103 6379

masterauth 1qaz@WSX

slave-serve-stale-data yes

slave-read-only yes

repl-diskless-sync no

repl-diskless-sync-delay 5

repl-disable-tcp-nodelay no

slave-priority 100

appendonly no

appendfilename "appendonly.aof"

appendfsync everysec

no-appendfsync-on-rewrite no

auto-aof-rewrite-percentage 100

auto-aof-rewrite-min-size 64mb

aof-load-truncated yes

lua-time-limit 5000

slowlog-log-slower-than 10000

slowlog-max-len 128

latency-monitor-threshold 0

notify-keyspace-events ""

hash-max-ziplist-entries 512

hash-max-ziplist-value 64

list-max-ziplist-size -2

list-compress-depth 0

set-max-intset-entries 512

zset-max-ziplist-entries 128

zset-max-ziplist-value 64

hll-sparse-max-bytes 3000

activerehashing yes

client-output-buffer-limit normal 0 0 0

client-output-buffer-limit slave 256mb 64mb 60

client-output-buffer-limit pubsub 32mb 8mb 60

hz 10

aof-rewrite-incremental-fsync yes


6,启动测试:

# /opt/redis# nohup src/redis-server redis.conf &

# ps-ef|grep redis


# /usr/local/redis/bin/redis-cli ping


7,测试:

主服务103上执行创建:

# /usr/local/redis/bin/redis-cli -h 172.16.15.103 -a 1qaz@WSX 

    >set test 123456


从服务104上执行查看:

# /usr/local/redis/bin/redis-cli -h 172.16.15.104

    >get test



性能测试

# /usr/local/redis/bin/redis-benchmark


关闭服务

# /usr/local/redis/bin/redis-cli -p 6379 shutdown


强制刷新数据到磁盘【Redis默认是异步写入磁盘的】

# /usr/local/redis/bin/redis-cli -p 6379 save


redis 资源信息数据统计查看: info

# redis-cli -h 127.0.0.1 -a passwd

    > info 


Redis 模糊搜索

 keys *

 select 2 


删除所有以user开头的key 可以这样实现:

# redis-cli keys "user*"

1) "user1"

2) "user2"

# redis-cli keys "user*" | xargs redis-cli del

(integer) 2

# 删除成功


# 批量删除匹配通配符的key用到了Linux中的管道和xargs参数:

redis-cli keys "s*" | xargs redis-cli del 


# 如果需要制定数据库,需要用到 -n 数据库编号   参数,下面是删除2数据库中s开头的键:

redis-cli -n 2 keys "s*" | xargs redis-cli -n 2 del


redis-cli keys "*" | xargs redis-cli del  

# 如果redis-cli没有设置成系统变量,需要指定redis-cli的完整路径  

# 如:/opt/redis/redis-cli keys "*" | xargs /opt/redis/redis-cli del 


# 删除当前数据库中的所有Key  

flushdb  

# 删除所有数据库中的key  

flushall 

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI