redis的发布与订阅
简介:
- 主机数据更新后根据配置和策略,自动同步到从机的master/slave机制,Master以写为主,Slave以读为主(只要有Slave角色那么就不能进行写操作)
常用命令:
- subscribe channel [channel…]:订阅一个或多个频道的信息
- psubscribe pattern [pattern]:订阅一个或多个符合给定模式的频道。模式以 * 作为通配符,例如:news.* 匹配所有以 news. 开头的频道
- publish chanel message:将信息发送到指定的频道
redis的主从复制
常用命令:
- info replication:查看redis服务在集群中的角色等信息
- slaveof 主机ip 主机port:设置某个redis服务为从机
- slaveof no one:断开从机的主从关系
redis的集群搭建
全量复制:一旦在从机上确定主从关系后,主机上已有的数据会全部同步复制到从机上
增量复制:在确定了主从关系后,主机在写入数据后会自动将增加的数据同步到从机上
redis集群搭建中发生异常的情况和处理方法:(在一主二从的情况下)
- 主机宕机,从机原地待命。主机恢复后,一切又恢复正常。
处理方法:在主机宕机后,分配一台从机为主机角色,再设置另一台从机与新主机的主从关系,待原来的主机恢复后,可以设置另一台从机或者新主机为主从关系 - 从机宕机,主机少一个从机,其它从机不变。从机恢复后,不再是从机角色
- 解决方法:需要重新设置主从关系
redis的哨兵模式:由于主机宕机的时间无法确定,就有了哨兵模式去监视主机,也就是上面所说的主机宕机,从机上位的自动版
操作步骤:
- 搭建集群架构
- 创建哨兵配置文件:redis安装目下创建配置文件:redis_sentinel.conf。并编辑里边的内容:sentinel monitor 哨兵名称 127.0.0.1 6379 1,表示:指定监控主机的ip地址,port端口,得到哨兵的投票数(当哨兵投票数大于或者等于此数时切换主从关系)
- 启动哨兵服务:redis-sentinel redis_sentinel.conf
Jedis的使用:
简介:
- jedis是redis官网提供的提供的操作redis数据的技术。把所有的redis指令都定义成java工具类的方法,方法名和redis的指令名完全一样;开发通过程序访问redis,只需要使用工具类及其方法即可
操作步骤:
- 在maven中添加jedis的依赖
- 关闭linux的防火墙(如果是链接linux下的redis)
- 创建jedis连接,Jedis jedis=new Jedis(“url”,port);