Redis_3.2.4 主从部署
admin
2023-06-05 05:41:03
0


系统: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 

相关内容

热门资讯

非洲埃博拉疫情最大缺口:没有任... 当地时间5月23日,非洲疾控中心与世界卫生组织联合召开线上新闻发布会,针对刚果(金)和乌干达本轮暴发...
首位来自香港的航天员为何是她? 5月23日,神舟二十三号乘组名单公布,首位来自香港的航天员黎家盈名列其中。 5月24日晚,她将乘坐神...
原创 携... 前几天吃饭,隔壁桌两个人聊得挺大声,一个说自己用了快10年的号码,前阵子终于转网了,原本还担心麻烦,...
宁夏吴忠举办AIGC项目签约仪... 转自:新华财经 5月22日,宁夏吴忠市AIGC(人工智能生成内容)项目签约仪式暨产业沙龙活动在宁夏人...
2026年618期间手机性价比... 感谢各位的耐心等待,手上的工作暂时告一段落,终于可以腾出时间写文章了。2026年618性价比手机购买...
山西煤矿瓦斯爆炸事故造成82死... 新华社太原5月23日电(记者刘扬涛、原勋)记者从23日晚10点30分许召开的山西通洲集团留神峪煤矿瓦...
告别纸贴手写,会议室预约管理该... "这个会议室下午几点有人?" "不知道,去门口看看有没有贴条。" 这段对话在很多企业的日常里反复上演...
原创 够... 前两天一条新闻刷屏了——时隔54年,人类再次飞向月球。美国“阿耳忒弥斯2号”载人绕月任务发射升空,四...
特朗普:或于24日决定是否恢复... 当地时间5月23日,美国总统特朗普表示,他将于当天晚些时候与谈判团队会面,讨论伊朗方面最新提议,并可...
留神峪煤矿事故一开始通报人数不... 5月23日,山西通洲集团留神峪煤矿瓦斯爆炸事故救援指挥部召开新闻发布会:事故发生后,现场混乱。企业对...