废话不多说,直接上源码:
报错前的代码:
Pipeline pipeline= jedis.pipelined();
Set set=new LinkedHashSet();
Response> response= pipeline.keys("aritst:*:id");
pipeline.exec();
set=response.get();
System.out.println(set.size());
执行后报错如下:
Exception in thread "main" redis.clients.jedis.exceptions.JedisDataException: Please close pipeline or multi block before calling this method.
at redis.clients.jedis.Response.get(Response.java:23)
后来在网上查找了一些资料,发现将pipeline.exec();修改成pipeline.sync();就可以!!
至于什么原因就不知道,希望看到文章的同志发表一下观点,谢谢!!
分享到:
相关推荐
文件 "redisClusterpipleLine1" 和 "redisClusterpipleLine2" 可能包含的是关于如何在 Redis Cluster 环境下有效使用 Pipeline 的示例代码或配置指南,可以参考它们来深入理解并实践 Redis Pipeline 在集群环境中的...
Java使用Pipeline对Redis进行批量读写,主要是针对Redis的hmset和hgetall操作,能够显著提高性能。在常规操作中,每次客户端向Redis发送一个命令,都需要等待服务器的响应,这种模式在网络延迟较大的情况下效率较低...
"Go-RedisPipe-具有隐式流水线操作的Go开发的高吞吐量Redis客户端" 指的是一款名为 "RedisPipe" 的高性能 Redis 客户端库,它用 Go 语言编写,并且实现了隐式流水线(Pipeline)功能。流水线在 Redis 操作中是一种...
Redis 是一个高性能的键值存储系统,广泛应用于缓存、数据库等领域。在处理大量并发请求时,网络延迟成为了性能瓶颈。为了解决这一问题,...理解并正确使用 Pipeline,可以帮助开发者更好地优化 Redis 应用的性能。
简单介绍 redis pipeline 的机制,结合一段实例说明pipeline 在提升吞吐量方面发生的效用。 案例背景 应用系统在数据推送或事件处理过程中,往往出现数据流经过多个网元; 然而在某些服务中,数据操作对redis 是强...
总的来说,Redis Pipeline 批量导入是一种高效的数据导入方式,通过预处理命令文件并使用 Redis 协议格式,可以确保数据的准确导入并减少网络延迟。同时,结合 MySQL 数据库的特性,可以方便地将数据库数据转换为 ...
在单机版Redis中,我们可以直接使用Jedis实例的`pipelined()`方法创建Pipeline对象,但在Redis集群中,由于其分布式特性的存在,情况有所不同。 首先,Redis集群将键空间划分为16384个槽(slots),每个主节点处理...
标题中的“python使用pipeline批量读写redis的方法”指的是在Python编程环境下,利用Redis数据库的pipeline功能进行高效的数据批量读取和写入操作。这在处理大量数据时能显著提高性能,减少网络通信的延迟。 首先,...
kettle如何3秒内写入100万条数据到Redis https://blog.csdn.net/huryer/article/details/106889792
ISP库使用redis格式转换shell脚本 将csv的ISP库文件转化为redis pipeline的命令
4. **使用Pipeline**:通过`MULTI`、`EXEC`命令,可以批量发送命令,减少网络通信开销。 管理Redis: 1. **监控**:使用`INFO`命令获取服务器状态信息,包括内存使用、客户端连接数等。 2. **备份与恢复**:可以...
Python客户端操作是指使用Python客户端库redis-py中的pipeline工具来实现事务操作。pipeline工具可以将多个操作组合成一个队列,并将其作为一个事务发送到Redis服务器执行。 watch监视是指监视Redis中的数据值,...
- 使用pipeline批量处理命令,减少网络通信开销。 10. **安全与备份**: - 设置访问密码,限制客户端连接。 - 定期备份数据,防止数据丢失。 - 监控Redis的内存使用、CPU占用和网络带宽。 通过这份文档手册,...
- 安装完成后,启动Redis服务使用`redis-server /path/to/redis.conf`,配置文件可自定义服务器端口、数据持久化策略等。 2. **数据类型** - **字符串(String)**:最基本的类型,可存储字符串、数字。如`SET key ...
Redis 还提供了其他高级特性,如事务(multi、exec)、管道(pipeline)和Lua脚本,这些使得 Redis 能够实现更复杂的功能。此外,Redisson 是一个Java客户端库,它提供了对Redis的全面支持,包括分布式锁、分布式ID...