问题标签 [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 回答
2083 浏览

java - Sharded Jedis - 我什么时候应该调用 pool.destroy()?

我正在帮助维护一个使用 Jedis 连接到 Sharded Redis 的应用程序。

我正在使用的应用程序将ShardedJedisPool的实例保留在服务中,以便在多个请求中继续重用它。

我正在查看 Sharded Jedis 上的文档注意到以下评论

忘记 pool.destroy 会保持连接打开,直到达到超时。

我们的应用程序不会在任何地方调用pool.destroy()。我们应该在每个请求上调用pool.destroy()吗?我猜,在每个请求上也创建一个新池?或者我的池可以在我的服务生命周期内保持活动状态,并且只在服务的finalize方法中调用pool.destroy()

0 投票
1 回答
3715 浏览

redis - jedis的del()和flushAll()的区别

我是绝地新手。我无法区分 del() 和 flushAll()。del() 是否从缓存或数据库中删除键。请提供一些细节。请注意,我确实尝试在网上搜索答案,但无法确定我的答案。

谢谢你。

0 投票
1 回答
1246 浏览

encoding - 为什么 Jedis 无法“取出”由 redis-cli.exe 设置的中文字符?

我用win-redis-server-2.6存储一些简单的key-value对,redis-cli.exe设置key-values,然后通过Jedis取出value。

一、redis-cli > set foo "中" 响应即可

然后,使用 Jedis

但是,我得到了这个��我已经搜索了这个问题,但我没有得到任何帮助。

Redis - 重音问题(UTF-8 编码) 如何在 redis 中保存和检索带有重音的字符串?

这两种方法都不能解决我的问题,因为我必须使用绝地来获取价值。

我试过 redis-cli --raw get foo 这可以得到值,但是当我删除 --raw 选项时,redis-cli.exe 就崩溃了。

对于设置值,我尝试使用hiredis-C-client 设置值,但我也遇到了问题。

但是当我通过 Jedis 设置值并使用 Jedis 获取值时,没关系。

我还尝试使用以下代码 String newStr = new String(test.getBytes("UTF-8"), "UTF-8"); 解码 jedis 输出的值 我试过 "GBK", "GB2312", "ISO-8859-1" ,但都失败了。

有人可以帮我吗?提前致谢。

0 投票
0 回答
1862 浏览

jedis - Johm 的 Jedis 抛出未知的回复错误

我正在与 Johm 一起研究 Jedis...直到昨天一切都运行良好,但现在它在运行时抛出以下错误...

redis.clients.jedis.exceptions.JedisConnectionException:未知回复:在 redis.clients.jedis.Protocol.process(Protocol.java:76) 在 redis.clients.jedis.Protocol.read(Protocol.java:131) 在 redis。 com.redis.clients.jedis.Jedis.set(Jedis.java:51) 上的 clients.jedis.Connection.getStatusCodeReply(Connection.java:162)。. .*.session.SessionHandler.setSessionValue(SessionHandler.java:46) 在 com。..*.request.AuthnRequestRelay.doGet(AuthnRequestRelay.java:72) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:621) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:728) 在org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 在 org.apache.catalina.core.StandardWrapperValve.invoke( StandardWrapperValve.java:222) 在 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) 在 org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) 在 org.apache.catalina .core.StandardHostValve.invoke(StandardHostValve.java:171) 在 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)在 org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953) 在 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 在 org.apache.catalina.connector.CoyoteAdapter .service(CoyoteAdapter.java:408) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603) at org. apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) 在 java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 在 java.util.concurrent.ThreadPoolExecutor$Worker。在 java.lang.Thread.run(Thread.java:662) 处运行(ThreadPoolExecutor.java:908)java:953) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) at org.apache.coyote.http11 .AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java :310) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 在 java.lang.Thread.run(线程.java:662)java:953) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) at org.apache.coyote.http11 .AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java :310) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 在 java.lang.Thread.run(线程.java:662)org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603) 的 org.apache.coyote.AbstractProtocol 的服务(CoyoteAdapter.java:408) .tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) 在 java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:908) 在 java.lang.Thread.run(Thread.java:662)org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603) 的 org.apache.coyote.AbstractProtocol 的服务(CoyoteAdapter.java:408) .tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) 在 java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:908) 在 java.lang.Thread.run(Thread.java:662)在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 在 java.lang 在 java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 在 java.lang .Thread.run(Thread.java:662)在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 在 java.lang 在 java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 在 java.lang .Thread.run(Thread.java:662)

任何人都可以帮助我为什么会发生此错误,以及如何解决该错误。请参阅屏幕截图以了解确切错误 https://drive.google.com/file/d/0BxziuIb8WD7ALWNuOUM1b0NxY2c

0 投票
1 回答
9207 浏览

java - 无法从池 JedisConnectionException 中获取资源

大家好我正在尝试使用java设置redis服务器。我的 Redis 服务器是 ulimit 无限制的 linux 服务器。

这是我创建连接的spring bean

公共类 JedisService 实现 IJedisService, InitializingBean, DisposableBean{ private JedisPool jedisPool;

}

方法 validateURLHits 在控制器中被调用。但是当我在多个线程中运行这段代码时,我得到了这个错误

redis.clients.jedis.exceptions.JedisConnectionException:无法从 com.til.ibeat.service.JedisService.recursiveRedisConnection(JedisService. java:60) 在 com.til.ibeat.service.JedisService.recursiveRedisConnection(JedisService.java:95) 在 com.til.ibeat.service.JedisService.recursiveRedisConnection(JedisService.java:95) 在 com.til.ibeat.service .JedisService.validateHitsCount(JedisService.java:52) at com.til.ibeat.controller.MashupController.handleRequest(MashupController.java:66) at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48 ) 在 org.springframework.web.servlet 的 org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:763)。DispatcherServlet.doService(DispatcherServlet.java:709) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:613) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:525) at javax .servlet.http.HttpServlet.service(HttpServlet.java:621) at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305 ) 在 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) 在 org.apache.catalina.core.StandardContextValve 的 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)。在 org.apache.catalina.authenticator.AuthenticatorBase.invoke 调用(StandardContextValve.java:123)(AuthenticatorBase.java:第472章.invoke(AccessLogValve.java:936) 在 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) 在 org. org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) 在 org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor 的 apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)。在 java.util.concurrent.ThreadPoolExecutor$Worker 的 java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) 处运行 (JIoEndpoint.java:310)。在 java.lang.Thread.run(Unknown Source) 处运行(Unknown Source) 原因:java.util.NoSuchElementException:无法创建已验证的对象,原因:ValidateObject 失败

0 投票
0 回答
659 浏览

redis - pool = new JedisPool(new JedisPoolConfig(), IPADDRESS) 不工作

我的问题很清楚,我无法使用上述语句访问远程绝地服务器。这是代码的一些细节:

静态 JedisPool 池;私人绝地武士;

静态 { pool = new JedisPool(new JedisPoolConfig(), "ABCD"); // ABCD == 替换为 ip 地址 } jedis = pool.getResource();

但无法连接到远程redis服务器

0 投票
2 回答
5584 浏览

scala - 来自 Redis 客户端 Jedis 的损坏管道异常

我们有一个来自播放框架应用程序的 redis 客户端调用。这个 Redis 调用是由使用 Akka Schedular 的 Actor 进行的。该调度程序每 60 秒运行一次,它会与其他 JDBC 调用一起进行 redis 调用。调度程序运行几分钟后,我们开始看到日志文件出现以下情况,并且应用程序停止响应任何 Redis 客户端调用。这是我第一次遇到 Redis,所以任何指针,帮助表示赞赏。

0 投票
2 回答
4491 浏览

redis - 如何使用 jedis 批量插入命令

如果我创建了一个包含以下 Redis 协议格式的命令的文件:

设置键 0 值 0设置键
1 值 1
...
设置键 N 值 N

如何在我的应用程序中使用 Jedis 将其提供给 Redis?

0 投票
2 回答
1156 浏览

java - 将 netty 与 jedis 一起使用时出错

我正在使用netty和redis(jedis客户端),并且在每个请求中redisdb调用的查询方法,当我使用这个命令在Apache基准测试中测试它时

ab -c 10 -n 10 本地主机:2080

发生以下错误。

这是代码

0 投票
2 回答
878 浏览

java - 使用协议缓冲区时,什么可能导致 java.lang.OutOfMemoryError?

运行以下代码会导致有关 Java 堆空间的异常。

来自 .NET 并掌握了 GC 在那里的工作方式,我想知道在尝试运行以下内容时是否需要考虑内存管理方面的问题:

TimeSeriesPoints.parseFrom引发异常,堆栈跟踪如下。不知道为什么。

这会导致试图读取 800 个时间序列(每个都有约 4000 个数据点)。因为在这个例子中我一次只处理 50 个时间序列,所以我预计内存占用不会显着增长。

在 .NET 中,我可以毫不费力地做到这一点。是时候向我学习一些Java了。我需要读什么?