redis 相关说明

 

redis 配置

redis 的配置项很多 ,基本掌握几个就可以使用了

  • bind 132.90.101.230 (绑定ip 生产必须绑定)
  • appendonly yes
  • daemonize yes (后台进程模式)
  • port 6371 (端口号)
  • cluster-enabled yes(是否启用集群)
  • cluster-config-file nodes-6371.conf (集群配置文件 此文件是系统自动生成,定义号文件名即可)
  • cluster-node-timeout 15000 (节点的延迟)
  • protected-mode yes (保护模式 保护模式下 要进行绑定ip和 使用密码)
  • tcp-backlog 511
  • timeout 0
  • tcp-keepalive 300
  • supervised no
  • pidfile /var/run/redis_6379.pid
  • loglevel notice
  • logfile “”
  • requirepass password (登录密码)
  • save “” (不进行持久化操作 同时把快照和aof相关设置注释掉)
  • maxmemory 1536mb (设置最大内存 生产必须设置)
  • maxmemory-policy allkeys-lru (内存满了以后的内存清理策略 优先清理最少使用的)

redis 不持久化操作配置内存清理 redis 配置详细讲解

redis 启动

redis 源码安装以后会在/usr/local/bin/ 目录下生成 redis-server redis-cli 的链接文件.

redis-server 直接输入此命令启动是 启动一个 非后台进程 默认配置(p:6379 h:127.0.0.1 no password) redis-server **.conf 启动是带配置参数的启动方式 这种方式是单机启动 非集群启动. 由配置参数决定

下面说一下 redis 集群启动

redis集群有三中方式的集群配置

  1. 客户端集群 客户端连接通过hash 类似hashmap的方式去把存储的东西打散到不同的节点去存储. 缺点是:服务端的节点会不平衡,有的节点多,有的节点少.
  2. 代理 客户端和服务端之间增加一层代理 可控性进一步加强(代理自己可控) 缺点是 增加一层维护 代理有损耗 不适合小公司
  3. 服务端集群 是redis官方在v3以后 提出的一种集群方式 最少6个节点 3主三从 优点是官方维护.

redis集群方案

搭建指南

  • redis 源码安装
  • 根据端口号生成6个不同端口的配置文件
  • 使用redis-server **.conf的方式依次将每个redis 实例都启动完毕
  • ps -ef |grep redis 检查redis 的启动情况
  • 安装搭建集群需要的依赖yum -y install ruby ruby-devel rubygems rpm-build gem install redis
  • redis-trib.rb create --replicas 1 132.90.101.230:6371 132.90.101.230:6372 132.90.101.230:6373 132.90.101.231:6374 132.90.101.231:6375 132.90.101.231:6376 replicas 后面的1 代表每个主一个从 后面跟上6个实例的真实ip和端口号 ip要填写成客户端访问的ip(如果绑定多个ip的话)

  • 继续输入yes

输入图片说明

此时redis-cluster集群已经搭建好了

命令行测试

  • redis-cli -c -h ip地址 -p 端口号 -a 密码
  • set good good
  • get good

常用操作

  • redis-cli -c -h 192.168.2.121 -p 6381 -a 12345678 cluster nodes 查看当前集群下的节点 输入图片说明
  • ./redis-trib.rb add-node 127.0.0.1:7006 127.0.0.1:7000 添加节点 将7006实例添加到7000节点所在的集群中
  • 删除集群中某一个节点
    如果删除的节点是主节点,这里我们删除127.0.0.1:7006节点,这个节点有1000个哈希槽
    首先要把节点中的哈希槽转移到其他节点中,执行下面的命令
    ./redis-trib.rb reshard 127.0.0.1:7000
    系统会提示我们要移动多少哈希槽,这里移动1000个,因为127.0.0.1:7006节点有1000个哈希槽
    然后系统提示我们输入要接收这些哈希槽的节点的ID,这里使用127.0.0.1:7001的节点ID
    然后要我们选择从那些节点中转出哈希槽,这里一定要输入127.0.0.1:7006这个节点的ID,最后输入 done  表示输入完毕
    最后一步,使用下面的命令把这个节点删除
    ./redis-trib.rb del-node 127.0.0.1:7006 127.0.0.1:7006
    
  • 删除集群中某一个节点 ./redis-trib.rb del-node 127.0.0.1:7006 127.0.0.1:7006

redis节点操作