redis集群及fastify框架下如何使用redis集群

使用redis-cli对redis进行集群操作

1、安装新版本redis

yum install -y http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

yum --enablerepo=remi install redis -y

2、配置多实例

由于redis cluster最低要求是3个主节点,每个主节点还需要一个从节点,所以需要6个实例,如需要集群认证,带上命令-a passwd

复制5份redis.conf文件,修改后的端口分别为6380~6384,6380单个配置如下:

port 6380
bind 0.0.0.0
requirepass test
masterauth test
cluster-enabled yes
cluster-config-file nodes-6380.conf
pidfile /var/run/redis_6380.pid
logfile /var/log/redis/redis_6380.log
dbfilename dump_6380.rdb
daemonize yes

修改其余文件相应配置即可

3、启动服务

/usr/bin/redis-server /etc/redis.conf
/usr/bin/redis-server /etc/redis_6380.conf
/usr/bin/redis-server /etc/redis_6381.conf
/usr/bin/redis-server /etc/redis_6382.conf
/usr/bin/redis-server /etc/redis_6383.conf
/usr/bin/redis-server /etc/redis_6384.conf

4、创建集群主节点,此步骤可以跳过到第5步

redis-cli  -a test --cluster create 192.168.10.12:6379 192.168.10.12:6380 192.168.10.12:6381

5、创建集群主从节点

redis-cli  -a test --cluster create 192.168.10.12:6379 192.168.10.12:6380 192.168.10.12:6381 192.168.10.12:6382 192.168.10.12:6383 192.168.10.12:6384 --cluster-replicas 1

--cluster-replicas 参数为数字,1表示每个主节点需要1个从节点,直接拷贝空格很有可能出现问题,需要在终端中将空格删了重新敲,如需跟端口则在test后跟 -p 6380

6、到此集群创建完毕

7、使用npm ioredis进行集群的连接,安装ioredis

npm i ioredis

8、fastify下的使用

const fastify = require('fastify')({
        // logger: {level: 'trace'},
        ignoreTrailingSlash: false,
        caseSensitive: true,
        trustProxy: true,
    }),
    Redis=require('ioredis')
const client=new Redis.Cluster(
    [
        {
            host:'192.168.10.12',
            port:6379,
            password:'test'
        },
        {
            host:'192.168.10.12',
            port:6380,
            password:'test'
        }, {
            host:'192.168.10.12',
            port:6381,
            password:'test'
        }, {
            host:'192.168.10.12',
            port:6382,
            password:'test'
        }, {
            host:'192.168.10.12',
            port:6383,
            password:'test'
        }, {
            host:'192.168.10.12',
            port:6384,
            password:'test'
        },
    ]
);
fastify.register(require('fastify-redis'),{client:client})
fastify.addHook('preHandler', (request, reply, next) => {
  request.redis=fastify.redis;
})

集群连接成功,其它数据获取参数fastify-redis相关命令即可

集群清除数据,连接到每个master节点上进行数据删除,每个master节点输入命令:flushall   

完全删除数据或删除集群:先关闭redis服务,然后将/var/lib/redis/ 下的所有文件删除

使用到的端口有redis端口,集群总线端口,如redis端口为6379则集群总线端口为16379,在原有端口上加10000

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值