Redis的相关安装
Redis
redis思维导图
Windows(解压版)
-
通过以下地址下载redis解压版文件https://github.com/MicrosoftArchive/redis/releases
-
下载解压到本地
D:\Server\Redis-x64-3.2.100
-
执行cmd命令,进行cmd窗口
redis-server.exe redis.windows.conf 可以把 redis 的路径加到系统的环境变量里,这样就省得再输路径了,后面的那个 redis.windows.conf 可以省略,如果省略,会启用默认的参数。
-
安装redis服务到windows服务
redis-server --service-install redis.windows.conf
-
在windows的任务管理器查看 是否添加服务成功
-
后面就可以直接通过启动服务相关命令启动了
redis-server --service-start # 启动redis服务 redis-server --service-stop # 停止redis服务
Linux
安装gcc环境,yum install gcc
-
https://redis.io/download redis官网下载最新版本
-
上传
redis.tar.gz
到software
目录下 -
执行解压操作
tar -zxvf redis.6.2.1.tar.gz -C /opt/module mv redis.6.2.1 redis
-
进入redis目录
cd redis
-
执行make命令
-
如果make执行不报错,表示已经安装成功了。
-
启动redis-server
src/redis-server # 启动redis服务端 src/redis-cli # 启动redis-客户端
-
正规启动方式
# 1.备份redis.conf cp /opt/module/redis/redis.conf /myredis # 2. 修改/myredis/redis.conf daemonize no 改为 yes # 3.启动redis redis-server /myredis/redis.conf
布隆过滤器
前提需要先安装好 redis
-
查看redis版本
redis-server -v # 6.2.1
-
下载布隆过滤器
https://github.com/RedisLabsModules/rebloom/archive/v2.2.6.tar.gz
-
下载上传到
software
目录下。 -
解压、编译
tar -zxvf redisbloom.tar.gz -C /opt/module cd /opt/module mv redisbloom2.2.6 redisbloom # 可选 cd redisbloom make
-
只要能看到 so文件就可以。
-
关闭当前redis实例。
-
修改
redis.conf
文件,配置MODULES -
重启redis,执行
bf.add user aaa
,如果可以成功,说明布隆过滤器安装成功了。 -
常见命令
bf.add key v
bf.madd key v v1 v2 v3
bf.exists key v
bf.mexists key v v1 v2
多个redis
主从复制(一主多从)
一个主多个从,主节点(Master)以写为主,从节点(slave)只能读
优点:读写分离、容灾快速恢复
详细配置:(模拟测试环境,一主二从)
-
新建多个
redis.conf
vim redis6379.conf
vim redis6380.conf
vim redis6381.conf
-
填写以下内容
# redis6379.conf
include redis.conf
pidfile /var/run/redis_6379.pid
port 6379
dbfilename dump6379.rdb
daemonize yes
# redis6380.conf
include redis.conf
pidfile /var/run/redis_6380.pid
port 6380
dbfilename dump6380.rdb
daemonize yes
# redis6381.conf
include redis.conf
pidfile /var/run/redis_6381.pid
port 6381
dbfilename dump6381.rdb
daemonize yes
-
依次启动三台redis
src/redis-server myredis/redis6379.conf
src/redis-server myredis/redis6380.conf
src/redis-server myredis/redis6381.conf
-
查看进程
ps -ef | grep redis
-
info replication
查看主从复制相关的信息 -
从库绑定主库,在从库主机上配置 slaveof ip port
slaveof 127.0.0.1 6379 # 绑定6379为master
-
测试 从节点 写入,会提示从节点只能读取。
哨兵模式
通过哨兵节点们监控主节点的在线状态,如果主节点离线,从他的从节点中选举一个作为新的主节点。
详细配置:(一主二从一哨兵)
-
按照主从复制配置好 一主二从
-
在
/myredis
目录下新建sentinel.conf
文件,名字不能错 -
在文件中填写以下内容
sentinel monitor mymaster 127.0.0.1 6379 1 # mymaster 表示为监控对象起的名称 1 为至少有多少个哨兵同意迁移的数量 多个这么配 # redis-sentinel-1.conf port 26379 daemonize yes logfile "26379.log" sentinel monitor mymaster 127.0.0.1 6379 2 # redis-sentinel-2.conf port 26380 daemonize yes logfile "26380.log" sentinel monitor mymaster 127.0.0.1 6379 2 # redis-sentinel-3.conf port 26381 daemonize yes logfile "26381.log" sentinel monitor mymaster 127.0.0.1 6379 2
-
启动哨兵
redis-sentinel /myredis/sentinel.conf
-
哨兵启动端口
-
监听以6379为主机的主机组
-
由于主节点6379断掉了,重新选举 6381节点作为主节点。
slave-priority 100 : 设置 主机的优先级,优先级越高值越小。
redis集群
-
清除redis的 dump 和 aof文件,包括其他的conf文件
-
在myredis目录下创建六个配置文件
vim redis7000.conf/redis7001.conf/redis7002.conf/redis7003.conf/redis7004.conf/redis7005.conf
# 内容如下,端口动态修改
daemonize yes
port 7000
pidfile /var/run/redis_7000.pid
cluster-enabled yes
cluster-config-file node-7000.conf
cluster-node-timeout 5000
appendonly no
-
执行命令依次启动这几个redis
src/redis-server myredis/redis7000.conf
src/redis-server myredis/redis7001.conf
src/redis-server myredis/redis7002.conf
src/redis-server myredis/redis7003.conf
src/redis-server myredis/redis7004.conf
src/redis-server myredis/redis7005.conf
-
ps -ef | grep redis
确保服务正常启动 -
通过命令将多个redis命令组成集群。
src/redis-cli --cluster create --cluster-replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 # --replicas 1 一台主机 一台丛机
-
如果成功显示如下
-
通过客户端连接集群
redis-cli -c -p 7000 # -c表示以集群方式 对于集群而言,不同键的数据(hash后结果)可能放在不同的redis节点上,所以有时候会出现 redirected操作,将数据写到其他节点。 {} 通过 {} 定义组的概念,将其放到一个slot中取 mset k1{cust} v1 k2{cust} v2
-
报错处理:
[ERR] Node is not empty. Either the node already knows other nodes
https://blog.csdn.net/weixin_44829930/article/details/117558512
基于客户端分配
基于代理服务器分片
- 点赞
- 收藏
- 关注作者
评论(0)