JedisShardInfo 怎么配置密码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JedisShardInfo 怎么配置密码相关的知识,希望对你有一定的参考价值。

参考技术A 之前一直没仔细看过ShardedJedis的代码,最近遇到了shard后集群扩容后的数据迁移问题。

今天在看ShardedJedis源码的时候,发现ShardedJedis并没有使用节点的Ip和port做hash,而是用的instance的顺序或者name,太赞了。

private void initialize(List shards)
nodes = new TreeMap();

for (int i = 0; i != shards.size(); ++i)
final S shardInfo = shards.get(i);
if (shardInfo.getName() == null)
for (int n = 0; n < 160 * shardInfo.getWeight(); n++)
nodes.put(this.algo.hash("SHARD-" + i + "-NODE-" + n),
shardInfo);

else
for (int n = 0; n < 160 * shardInfo.getWeight(); n++)
nodes.put(
this.algo.hash(shardInfo.getName() + "*"
+ shardInfo.getWeight() + n), shardInfo);

resources.put(shardInfo, shardInfo.createResource());



配置的时候也非常简单:

一开始你可以设置足够多的instance,数据扩容的时候,只需要将几个instance的数据copy到别的机器上。
然后修改配置文件的ip和端口即可。很方便吧?

另外,Jedis还提供了对jedis sentinel pool的封装,所以发生主从切换的时候,web server都不需要重新配置和deploy。高可用性的极佳体现啊。

@Autowired private JedisSentinelPool pool;

public void mymethod()
Jedis jedis = null;
try
jedis = pool.getResource();
jedis.hset(....
catch (JedisException je)
throw je;
finally
if (jedis != null) pool.returnResource(jedis);



spring bean的配置:

hostofsentinel:26379本回答被提问者采纳
参考技术B JedisShardInfo jsi = new JedisShardInfo(host, port,timeout);
jsi.setPassword("password");
他这种设置密码方式前所未见
参考技术C //这里设置密码
jedisShardInfo.setPassword("password");

mysql怎么配置密码复杂度配置策略

参考技术A 用户帐号管理是系统管理员最重要的工作之一。而密码安全是系统安全中最受关注的一块。本文将为大家介绍如何在 Linux 上设置系统用户密码复杂度策略。 密码复杂度 假设你已经在你的 Linux 系统上使用了 PAM (Pluggable Authentication Modules,...

以上是关于JedisShardInfo 怎么配置密码的主要内容,如果未能解决你的问题,请参考以下文章

mysql怎么配置密码复杂度配置策略

Redis配置密码

磊科(Netcore)无线路由器密码怎么配置

MySQL密码忘记,如何跳过密码参数,重置密码

华为交换机怎么修改密码加密?

wifi密码修改不了,提示当前操作无效,请检查配置参数怎么办?