问题标签 [redisson]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Redisson - RMapCache 在值前附加 2 个字节
我正在使用 Redisson 的 RMapCache 结构,因为它支持按生存时间和设置地图的最大大小来逐出条目。虽然在 Java 中一切正常,但我发现使用相同 Redis 实例的 NodeJS 应用程序无法从相同的底层 HSET 结构中获取值。
问题是当使用 RMapCache 时,Redisson 会在 HSET 中的每个值前添加 2 个字节:
在花一些时间研究 Redisson 源代码后,我发现插入过程中使用的 Lua 脚本有以下几行:
ARGV[6] 本身就是值,所以其他两个字节是:
- 以毫秒为单位的最大空闲时间(可以传递给 put 方法)
- 价值长度
这有效地使 Redis HSET 无法从 Redisson 以外的其他语言或 Java 客户端使用。
有人遇到过同样的问题并知道如何处理吗?
java - 如何使用 redisson 进行 HGETALL
我很难弄清楚如何使用 redisson redis 库访问映射键。我希望能够(使用 redisson)访问由不使用 redisson 的系统创建的密钥。说我用redis-cli
...
现在一个简单的java方法来检索......
这引发了JacksonParseException
...
...打电话给getMap("user")
我看到一些关于编解码器的讨论,但我不清楚这是否是解决方案。有人可以指出我正确的方向吗?这似乎应该是一个常见的用例。
session - 带有 redisson 的 Tomcat 非粘性会话
尝试使用 redis 设置具有非粘性会话的 tomcat 集群。
尝试使用: https ://github.com/redisson/redisson/wiki/14.-Integration%20with%20frameworks#145-spring-session
添加了 2 个 jar 文件。使用 Tomcat 7。
上下文.xml:
redisson.yml:
Redis 起来了。它找到服务器。我没有看到任何错误。
现在当我去说经理测试。它将执行循环负载平衡。我登录到第一台服务器并获得了一个会话。我刷新,它似乎没有拉出正确的会话并且表现得好像我从未登录过。cookie 仍然设置。我刷新了几次以回到第一台服务器,但我仍然登录。
关于我所缺少的任何想法?
java - 制作netty-socketio服务器集群
我正在使用这个进行 socketio 设置。我有 2 个不同的 socketio 服务器(比如说 server1 和 server2)在集群中运行,使用RedissonStoreFactory
我的问题是,如果任何客户端与 server1 连接,则 server2 没有连接客户端的信息。IE。如果 2 个客户端与 server1 连接并且如果我server.getAllClients()
在 server2 上执行,它将返回空列表而不是具有 2 个计数的列表。
这是我在两台不同机器上运行的代码。
我更喜欢 2 个实例用于故障转移条件。如果 server1 关闭,则 server2 会将通知发送到连接的客户端,但在我的情况下,server2 不知道与 server1 连接的客户端。
redis - redisson 的 outofDirectMemory 异常
我正在尝试通过 Redisson 学习 Redis。这是我使用多个线程插入redis的代码。
此代码工作正常,直到 totalSize=400000。当我输入 totalSize=500000 时,它会抛出以下异常。
但我有大约 7Gb 内存可用。有人可以向我解释我得到这个例外的原因吗?
java - 如何使用java获取redis db中的哈希列表?
有没有办法使用java程序来实现和实现这一点。
目前我指的是Redis网站。
java - 带 AWS Elasticache 的 Redisson
当我尝试配置 Redisson 时,我不断收到此错误。
不能在我的本地机器上使用带有 Redisson 的 Elasticache 吗?我还有什么其他选择?Azure 允许这样做吗?
java - 过期的 Redisson 密钥在 Redis Cli 中仍然可见
我也刚刚了解了 Redis 和 Redisson。基本上我正在尝试使用 Redis 来存储用于在我的应用程序中进行授权的 AcessTokens/RefreshTokens。所以我想用过期时间存储令牌。我使用Spring Data Redis来存储令牌,但没有 Api 可以使 Map 中的每个条目过期。我遇到了这篇Spring Data Redis Expire Key帖子,因此查找了 Redisson。我尝试了一个简单的maven java项目来测试过期。这是 pom.xml:
下面是 Token 类
这是我的演示应用程序:
运行 App.java 后,我得到输出,我得到的输出为:
只需评论 put 代码并在 10 秒后运行应用程序,我就会得到部分想要的结果:
但是当我运行 redis-cli 时,我仍然在输出中得到值:
为什么密钥也没有从 redis 中删除?仅供参考:一切都在我的本地机器上进行测试,仅包括 redis。
java - 如何获取 ttl 以及 redis/redisson 中键的值
我正在使用 redisson java client 在 Redis 中存储 Key 和 value。示例如下
当我在 mapCahce 上进行获取时,有没有办法可以获取密钥的剩余 ttl ?
java - 使用 redisson 在 Glassfish 上缓慢取消部署 Web 应用程序
我在取消部署使用 redisson 的 Web 应用程序时遇到问题,我在 Glassfish 4.1.2(构建 1)上运行 Java Web 应用程序,当我尝试优雅地取消部署应用程序时,我收到错误:
应用程序的停止时间也急剧增加到 5 分钟左右,而不是正常的最长 1 分钟。如果我从应用程序中删除 redisson,应用程序会定期停止。
我在用着
Redisson 关闭方法如下所示:
取消部署期间的线程转储如下所示: