部署

作者: 大先生居然都有人用了 | 来源:发表于2018-11-30 13:31 被阅读0次

1.单机部署

从redis.io下载最新版redis-X.Y.Z.tar.gz后解压,然后进入redis-X.Y.Z文件夹后直接make即可,安装非常简单。

make成功后会在src文件夹下产生一些二进制可执行文件,包括redis-server、redis-cli等等:

./redis-benchmark //用于进行redis性能测试的工具

./redis-check-dump //用于修复出问题的dump.rdb文件

./redis-cli //redis的客户端

./redis-server //redis的服务端

./redis-check-aof //用于修复出问题的AOF文件

./redis-sentinel //用于集群管理

./redis-server ../redis.conf

2.集群部署

1)通用配置文件 redis-common.conf

################################ GENERAL #####################################

#指定 redis 只接收来自于该 IP 地址的请求,如果不进行设置,那么将处理所有请求

#--------不同服务器需要修改的参数-------------    

bind 192.168.21.49

#redis配置的最大内存容量。当内存满了,需要配合maxmemory-policy策略进行处理。

#注意slave的输出缓冲区是不计算在maxmemory内的。所以为了防止主机内存使用完,建议设置的maxmemory需要更小一些。

maxmemory 8gb

#内存耗尽时采用的淘汰策略:

# volatile-lru -> remove the key with an expire set using an LRU algorithm

# allkeys-lru -> remove any key accordingly to the LRU algorithm

# volatile-random -> remove a random key with an expire set

# allkeys-random -> remove a random key, any key

# volatile-ttl -> remove the key with the nearest expire time (minor TTL)

# noeviction -> don't expire at all, just return an error on write operations

maxmemory-policy allkeys-lru

#默认情况下,集群全部的slot有节点负责,集群状态才为ok,才能提供服务。设置为no,可以在slot没有全部分配的时候提供服务。不建议打开该配置,这样会造成分区的时候,小分区的master一直在接受写请求,而造成很长时间数据不一致。

cluster-require-full-coverage  no

#-------通用配置,一台机器共用一个,一般无需修改的参数-------------------------

#设置Redis连接密码,默认关闭

#requirepass 100credit

#slave服务连接master的密码

#masterauth 100credit

#是否在后台执行,yes:后台运行;no:不是后台运行

daemonize yes

#此参数确定了TCP连接中已完成队列(完成三次握手之后)的长度, 当然此值必须不大于Linux系统定义的/proc/sys/net/core/somaxconn值,

#默认是511,而Linux的默认参数值是128。当系统并发量大并且客户端速度缓慢的时候,可以将这二个参数一起参考设定。

#该内核参数默认值一般是128,对于负载很大的服务程序来说大大的不够。

#一般会将它修改为2048或者更大。在/etc/sysctl.conf中添加:net.core.somaxconn = 2048,然后在终端中执行sysctl -p。

tcp-backlog 511

#设置能连上redis的最大客户端连接数量。默认是10000个客户端连接。由于redis不区分连接是客户端连接还是内部打开文件或者和slave连接等,所以maxclients最小建议设置到32。如果超过了maxclients,redis会给新的连接发送’max number of clients reached’,并关闭连接。

maxclients 10000

# 此参数为设置客户端空闲超过timeout(单位秒),服务端会断开连接,为0则服务端不会主动断开连接,不能小于0。

timeout 300

tcp-keepalive 60

save 900 1

save 300 10

#save 60 10000

#日志级别 debug、verbose、notice、warning,默认为notice

loglevel notice

databases 1

dir /opt/redis-3.2.0/data

slave-serve-stale-data yes

#slave只读

slave-read-only yes

#not use default

repl-disable-tcp-nodelay yes

slave-priority 100

#打开aof持久化

appendonly no

#每秒一次aof写

appendfsync no

#关闭在aof rewrite的时候对新的写操作进行fsync

no-appendfsync-on-rewrite yes

auto-aof-rewrite-min-size 64mb

lua-time-limit 5000

#打开redis集群

cluster-enabled yes

#节点互连超时的阀值

cluster-node-timeout 15000

cluster-migration-barrier 1

slowlog-log-slower-than 10000

slowlog-max-len 128

notify-keyspace-events ""

hash-max-ziplist-entries 512

hash-max-ziplist-value 64

list-max-ziplist-entries 512

list-max-ziplist-value 64

set-max-intset-entries 512

zset-max-ziplist-entries 128

zset-max-ziplist-value 64

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

相关文章

网友评论

      本文标题:部署

      本文链接:https://www.haomeiwen.com/subject/rooccqtx.html