redis相关(二)

1 redis持久化

  1. RDB持久化 数据库形式
    save 表示更改了1个key时间隔900s进行持久化存储;更改了10个key300s进行存储 更改10000个key60s进行存储。rdb
  2. AOF持久化日志形式
    aof功能的开关 no/yes 日志名称
    aof开启
    存储策略
    aof时间存储
    aof日志尺寸相关
    aof日志存储形式

2 redis高可用
拷贝conf文件修改端口为6380 6381
拷贝conf文件
修改从服务器conf文件
slaveof
下图可以不设置
blind
启动6379 6380 6381
启动端口
查看各节点信息 info-- role
节点信息
配置sentinel
sentinel monitor 这个1代表当集群中有1个sentinel认为master死了时才能真正认为该master已经不可用了
配置
sentinel down-after-milliseconds mymaster 5000 心跳检测 5秒
sentinel parallel-syncs mymaster 1 指定了在执行故障转移时,最多可以有多少个从Redis实例在同步新的主实例,在从Redis实例较多的情况下这个数字越小,同步的时间越长,完成故障转移所需的时间就越长
启动 sentinel
启动sentinel

3 jedis sentinel

	public static void main(String[] args) {
		// Jedis jedis = new Jedis("192.168.100.106", 6379);//指定Redis服务Host port
		// jedis.auth(""); //如果Redis服务连接需要密码

		Set<String> sentinels = new HashSet<String>();
		sentinels.add("192.168.100.106:26379");
		GenericObjectPoolConfig gPoolConfig = new GenericObjectPoolConfig();
		gPoolConfig.setMaxIdle(10);
		gPoolConfig.setMaxTotal(10);
		gPoolConfig.setMaxWaitMillis(10);
		gPoolConfig.setJmxEnabled(true);
		//mymaster为sentinel.conf中配置的
		JedisSentinelPool jedisSentinelPool = new JedisSentinelPool("mymaster", sentinels,gPoolConfig);
		Jedis jedis = jedisSentinelPool.getResource();

		// 字符串类型
		jedis.set("name", "张三");
		String value = jedis.get("name"); // getString
		System.out.println(value);
		long zongliang = jedis.incr("zongliang");
		System.out.println(zongliang);
		// 列表类型

		jedis.lpush("citys", "北京", "上海", "南京");
		List<String> citys = jedis.lrange("citys", 0, 2);
		for (String city : citys) {
			System.out.print(city);
		}

		jedis.close(); // 使用完关闭连接
		jedisSentinelPool.close();
	}

猜你喜欢

转载自blog.csdn.net/u011217662/article/details/85121761