草庐IT

java - JedisCluster 在 2.7.x 中工作,但在 Jedis 2.9.x 中不工作,JedisConnectionException 和 Connection refused

我的代码在Jedis2.7.x中已经有几个月了。但我发现我有同样的问题https://github.com/xetorthio/jedis/issues/1625(Redis服务器重启时JedisPool.getResourceblock)。所以我从2.7.x切换到2.9.x。我正在使用相同的代码来创建JedisCluster。但是它无法连接并从Jedis获取数据。我创建了一个单例JedisCluster实例,每次我只使用JedisCluster.get()来获取数据。我不关闭集群的连接。更多信息:我的redis是3.2.8。我将一台主机用作JedisCluster,并且没有从机。我想

java - 无法通过 Jedis 通过 ssh 隧道连接到 redis

我有两台机器:机器foo(10.0.0.1)正在运行一个redis服务器,机器bar(192.168.0.1)正在运行一个连接到的java应用程序foo通过绝地武士。当给jedis地址10.0.0.1时一切正常。但是我不信任foo和bar之间的路由器,而且redis不支持ssl。所以我设置了一个从bar到foo的ssh隧道:user@bar$ssh-N-f-Llocalhost:6379:localhost:6379user@foo现在,我可以从bar直接通过10.0.0.1或通过127.0.0.1的隧道成功远程登录到foo上的redis。对于jedis,如果我使用127.0.0.1我

java - 使用相同线程 Jedis 订阅多个 channel

我有一个应用程序使用Redis发布/订阅在使用Java中的Jedis客户端的客户端之间传输消息。我希望能够在用户键入命令时在运行时订阅channel,但由于订阅是一个阻塞操作,因为它会监听调用订阅的线程我不确定以后如何订阅其他channel在原始线程上。例子:privatePubSubListenerpsl=newPubSubListener();publicvoidonCommand(String[]args){subscribe(args[0]);}publicvoidsubscribe(Stringchannel){Jedisjedis=jedisPool.getResource

java - Jedis 破管异常

我在servletfilter中使用Redis做认证,我没有修改redis.confjedis=newJedis("localhost");StringauthToken=jedis.get(uid);第2行抛出异常。redis.clients.jedis.exceptions.JedisConnectionException:java.net.SocketException:Brokenpiperedis.clients.jedis.Connection.flush(Connection.java:291)redis.clients.jedis.Connection.getBinar

redis - 无法使用jedis连接redis sentinel

我正在尝试使用JedisSentinelPool连接到redissentinelprivatestaticfinalJedisSentinelPoolpool=newJedisSentinelPool("mymaster",getSentinels());privatestaticSetgetSentinels(){Setmysentinels=newHashSet();mysentinels.add(newHostAndPort("localhost",26379).toString());returnmysentinels;}这给了我以下错误:Causedby:redis.clie

来自 WildFly 的 Redis 与 Jedis(或任何其他连接器)

我正在尝试从在WildFly10上的企业应用程序中运行的单例javabean访问Redis数据库。我遇到了一些死胡同,我开始怀疑这是否可能,尤其是因为我找不到任何对尝试此操作的人的引用。有人有建议吗?对于它的值(value),这是我总结的最佳尝试,然后是具体细节:总结:1)获取绝地武士的jar2)为那些jar创建模块3)在standalone.xml中添加对那些模块的全局引用4)写一个单例来管理对Jedis连接的访问5)测试并命中java.lang.ClassNotFoundException细节:1&2)Jedisjar、模块3)standalone.xml中的全局引用4)Jedis

exception - 与 Jedis 客户端交易的 Redis 异常

为了避免在我的redischannel中出现重复,我通过在Redis集中保留一个索引来检查消息是否已经存在。以下是我的实现。但是,它给出了一个异常(exception)。redis.clients.jedis.exceptions.JedisDataException:Pleaseclosepipelineormultiblockbeforecallingthismethod.atredis.clients.jedis.Response.get(Response.java:23)这里是实现。Jedisjedis=pool.getResource();Stringid=message.g

java - 无法使用 Jedis Lib 在本地连接到 aws 上的 Elasticache 集群

我们正在尝试使用使用Jedis库在本地运行的Java客户端访问aws上的deElasticCache(Redis)。我们能够按照以下步骤在本地使用redis-cli访问redishere.问题是,当我们尝试使用Jedis库连接到awsRedis时,NAT公共(public)地址被转换为redis私有(private)IP以计算插槽(initializeSlotsCache)。我们找不到禁用此功能的方法。有什么解决方法吗?以下是我们如何使用Jedis进行连接:factory=newJedisConnectionFactory(newRedisClusterConfiguration(th

spring - 将 SSL 与 Redis 和 Spring Data Redis 一起使用时为 "Cannot get Jedis connection"

我正在使用支持SSL的Redis(来自AWS的ElasticCache),并且在使用SpringDataRedis连接到它时遇到困难。(请注意,如果我使用带有Spring的普通Jedis或JedisPool,连接工作正常)。以下是代码片段:@Value("${vcap.services.myredis.credentials.host}")privateStringredisHost;@Value("${vcap.services.myredis.credentials.password}")privateStringredisPassword;@Value("${vcap.servi

java - 需要 "increment"中 "jedis"的一些建议

已使用jedis2.6.1和2.6.2进行测试。redisTemplate.opsForHash().put("mykey","myhashkey",1);127.0.0.1:6379>hkeys"mykey"1)"\xac\xed\x00\x05t\x00\tmyhashkey"127.0.0.1:6379>hget"mykey""\xac\xed\x00\x05t\x00\tmyhashkey""\xac\xed\x00\x05sr\x00\x11java.lang.Integer\x12\xe2\xa0\xa4\xf7\x81\x878\x02\x00\x01I\x00\x05v