我正在学习jedis,我无法确切找出此代码中的问题。任何人都可以帮助我。异常发生在语句tx.exec()
public class JedisFactory {
public static void main (String [] args){
JedisPool pool = new JedisPool(new JedisPoolConfig(), "127.0.0.1", 6379);
Jedis jedis = pool.getResource();
Pipeline pipeline = jedis.pipelined();
for(int i=0; i < 1000 ; i++){
pipeline.hincrBy("Id", i+"", i);
}
pipeline.exec();
pool.returnResource(jedis);
jedis = pool.getResource();
Transaction tx = jedis.multi();
Response<Map<String,String>> map = tx.hgetAll("Id");
tx.hincrBy("Id","2", 1);
**tx.exec();**
//Map<String,String> map1 = jedis.hgetAll("Id");
pool.returnResource(jedis);
pool.destroy();
}
}
Exception in thread "main" redis.clients.jedis.exceptions.JedisDataException: ERR EXEC without MULTI
at redis.clients.jedis.Protocol.processError(Protocol.java:54)
at redis.clients.jedis.Protocol.process(Protocol.java:61)
at redis.clients.jedis.Protocol.read(Protocol.java:122)
at redis.clients.jedis.Connection.getAll(Connection.java:207)
at redis.clients.jedis.BinaryTransaction.exec(BinaryTransaction.java:23)
at com.work.JedisFactory.main(JedisFactory.java:30)
在for循环之前添加pipeline.multi()解决了该问题。但是该异常在修复之前在其他行抛出。
7.1n-step TD Prediction The methods that usen-step backups are still TD methodsbecause theystill change an earlier estimate based on how it differs from a later estimate. n-step return:If t+n≥T(if the
MULTI 标记一个事务块的开始。 事务块内的多条命令会按照先后顺序被放进一个队列当中,最后由 EXEC 命令原子性(atomic)地执行。 可用版本: >= 1.2.0 时间复杂度: O(1)。 返回值: 总是返回 OK 。 redis> MULTI # 标记事务开始 OK redis> INCR user_id # 多条命令按顺序入队 QUEUED redis
MULTI 标记一个事务块的开始。 事务块内的多条命令会按照先后顺序被放进一个队列当中,最后由 EXEC 命令原子性(atomic)地执行。 可用版本: >= 1.2.0 时间复杂度: O(1)。 返回值: 总是返回 OK 。 redis> MULTI # 标记事务开始 OK redis> INCR user_id # 多条命令按顺序入队 QUEUED redis
描述 (Description) 它通过将data-multi-expand为true,一次打开多个手风琴窗格。 例子 (Example) 以下示例演示了在基础中使用multi-expand accordion - <!doctype html> <head> <meta charset = "utf-8" /> <meta http-equiv = "x-ua-co
Multi-OTP 是一个PHP类,用来进行基于 OTP 一次性密码的用户 token 的强认证和管理。可创建、更新、删除 token,用户数据存储在单个文件中。可使用多种算法进行用户检查,包括 Mobile OTP (MOTP), OATH/HOTP (RFC 4226), and OATH/TOTP HOTP Time Based (RFC 4226 extension). 兼容 (iPhon
The unobtrusive Laravel package that makes your app multi tenant. Servingmultiple websites, each with one or more hostnames from the same codebase. Butwith clear separation of assets, database and the