问题标签 [jedis]

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.

0 投票
1 回答
2039 浏览

performance - 在 redis 中创建中到大型列表/集/zset/hash 的最有效方法是什么?

使用redis,有许多命令可以检索整个数据结构(LRANGE用于列表,SMEMBERS用于集合,ZRANGE用于排序集,HGETALL用于哈希)。

只有散列有一个方法(HMSET)用一个命令插入多个项目。

我见过的所有示例都显示一次仅将单个项目添加到列表(通过RPUSHLPUSH)或集合(通过SADD / ZADD)。

我要解决的更具体的问题是创建包含数据库 id 的列表和排序集,这些列表对每个用户都是唯一的,并且包含几百到几千个 id。

它们通常是从数据库查询中收集的,在内存中稍作调整,然后存储在 redis 中,以用于分页(列表)或执行基于集合的操作以检索子集(集合和排序集合)。

目前,我正在遍历列表并为每个元素调用适当的 add 方法。这具有通过网络发出多个请求并每次都重复密钥的缺点。

我认为使用 MULTI 和 EXEC 的事务可以帮助转换为单个请求,但这对重复密钥没有帮助。

是否有什么我遗漏的东西可以让我在单个命令中将元素添加到列表/集合中,或者每次都不需要重复键?

如果这很重要,我也在使用 jedis 客户端库(或者如果我可以从 JVM 中使用另一个库会更好)。

0 投票
1 回答
195 浏览

save - 每个数据库的redis保存选项 - 可能吗?

我在 conf 中找到所有数据库的保存选项。是否可以为每个数据库分配不同的保存值,例如 1、2 等?

谢谢。

0 投票
3 回答
1158 浏览

scala - 使用 Redis 示例提升

我一直在分别使用 Redis 和 Scala,并认为将它们组合在一个简单的 Lift 应用程序中会很好。

我做了一些谷歌搜索,但找不到任何使用 Redis 的 Lift 应用程序示例。是否有一个原因?

对于使用带升降机的 Redis,您推荐哪些驱动程序/API?我目前正在使用 Jedis (https://github.com/xetorthio/jedis)。

0 投票
1 回答
909 浏览

scala - 在 Scala 中使用 Jedis 的类型不匹配

以下代码产生四个类型不匹配错误。为什么?在第一种和第二种情况下,我正在与字符串进行简单的比较。在第三种情况下,我分配false给一个 var 类型Boolean。在最后一种情况下,我只是打印一个堆栈跟踪!

我很困惑。

编码:

错误:

我正在使用 Jedis 2.0.0 (https://github.com/xetorthio/jedis) 与 Redis DB 交互。Jedis.get() 方法返回String. 我正在使用 sbt 0.10.1 和 scala 2.9.0-1。

这是怎么回事?

0 投票
2 回答
1656 浏览

java - jedis 或 redis 编码 ISO-8859-5 的问题

我测试了用于编码 ISO-8859-5 的 redis 和 jedis API:

结果,我有:а�б�аИаВаЕб�аМаИб�</p>

然后我尝试使用 SafeEncoder:

结果:аАТаБТаАааАааАааБТ аАааАааБТ

我做错了什么?是我还是redis,还是jedis?

0 投票
0 回答
357 浏览

java - 在示例代码中获取 JOhm 异常

昨天尝试使用JOhmJedis来简化我的工作并缓存整个对象,而不仅仅是它的一部分。从一开始我就遇到了例外。

例外:

我在项目的源代码中查找了这个异常(在那里也创建了一个问题)并找到了它被抛出的地方,但我不太了解注释,因此也不太了解代码。

也许有人遇到同样的问题?

0 投票
2 回答
665 浏览

redis - Jedis存储混乱,这个问题是Redis还是Jedis的问题?

以下 java 代码将一百万个整数对插入到 redis 中。

这是redis信息输出

89319664 意味着每个键值对约 89 个字节。

我期待的是大约 8 MB 的大小(4 个字节的键 + 4 个字节的值)。

我还在 32 位模式下编译了 redis(仍在 64 位机器上运行测试)。

32位版本的redis的结果:

used_memory: 68831664 => 每个键值对 68 个字节。

这两个结果都比我预期的要高几倍。

当我使用 CLI 查看 redis 时,我看到一个典型的键如下所示:“\x00\x00\xc2\xff”

感谢您的反馈

PS - 我在 64 位机器上使用 Redis 2.2.14 和 Jedis 2.0

PSS - 我还尝试按照评论之一的建议将所有值存储在一个哈希中,这是代码:

这是结果:

当我使用单个哈希时,结果会更糟。

0 投票
2 回答
24275 浏览

java - JedisConnectionException:java.net.SocketTimeoutException:连接超时

我正在使用 jedis 进行简单的键值数据存储...我的代码如下

当我使用 jedis 客户端测试 redis 服务器时,出现以下异常。

有人可以帮忙吗?

0 投票
1 回答
210 浏览

redis - 某些在功能上似乎与 java.lang.String 类等效的 JedisCommands 之间有什么区别

substrJedisCommands 和 java.lang.String的命令有什么区别

子串

0 投票
1 回答
2508 浏览

redis - 如何跟踪 Redis 服务器的低级输出

我想跟踪 Jedis 客户端通过 JedisCommands 发送到 Redis 服务器的所有低级输出。我应该启用日志记录来实现这一点吗?