草庐IT

transaction_batch

全部标签

ruby - batch/multi with redis 求和不同的键

我知道使用multi时,redis命令的执行会延迟到block完成。如何使用multi(或类似)发送一个redis请求,同时仍然能够使用返回的数据进行计算?示例-用户有很多friend。每个friend都有自己的一组friend。我想统计每个用户有多少friend的friend(有重复)$redis.multidofriends_of_friends=user.friends.map(&:friends_count)endfriend_of_friends.inject(&:+)这可能吗? 最佳答案 您要实现的主要目标是什么?MUL

transactions - Jedis/Redis 的容器管理事务

我正在阅读有关Jedis+Redis和集成到EJB(JEE6)的内容。我真的很愿意尝试使用一个不错的键值存储。我想知道Jedis是否有办法让Jedis库参与容器管理的事务,就像通常使用JTA+JPA所做的那样。我很想看到我可以在定义了@TransactionAttribute(TransactionAttributeType.REQUIRED)的无状态sessionbean中添加对Jedis的访问。Atm我的测试代码手动使用事务函数(通过调用“Transaction.exec()”),但我真的不想手动处理事务! 最佳答案 这个问题的

batch-file - 从远程批处理文件刷新 Redis 数据库

我需要设置一个计划任务来每天刷新我的Redis数据库。为此,我计划创建一个批处理文件,其中包含用于连接到我的远程Redis服务器并刷新我的特定数据库的命令,然后在计划任务中设置该批处理文件。目前我有"%REDIS_PATH%\redis-cli"-h"serverName.somelocation.windows.net"-p6380-aSOMEPASSWORDping我原以为它会返回PONG,然后从那里继续添加用于刷新我的数据库的特定命令。但是,ping命令旋转了几秒钟,然后什么也没有返回。没有错误或消息或任何东西。任何帮助将不胜感激!更新:我找到了解决我原来问题的方法。我已经切换到

java - 从 spring boot 测试调用的@Caching 方法[用@Transactional 注释] 不起作用

我正在使用redis缓存和springboot注释[@Cacheable和@CahePut],我制作了RedisManagertransactionAware,它将使用外部事务[缓存层的调用者]@BeanpublicRedisCacheManagercacheManager(){RedisCacheManagerrcm=RedisCacheManager.builder(redisConnectionFactory()).cacheDefaults(cacheConfiguration()).transactionAware().build();returnrcm;}在进行如下测试时,

transactions - 没有 MULTI 的 ERR EXEC - Jedis

我正在学习绝地武士,我无法确切地找出这段代码中的问题所在。任何人都可以帮助我。异常发生在语句tx.exec()publicclassJedisFactory{publicstaticvoidmain(String[]args){JedisPoolpool=newJedisPool(newJedisPoolConfig(),"127.0.0.1",6379);Jedisjedis=pool.getResource();Pipelinepipeline=jedis.pipelined();for(inti=0;i>map=tx.hgetAll("Id");tx.hincrBy("Id","

transactions - Redis 中的 RPUSH 和 LPUSH 可以赛跑吗?

redis.io上关于RPUSH和LPUSH的文档不清楚这些操作在推送多个项目时是否仍然是O(1)和事务性的。例如,如果两个客户端对具有多个项目的同一个列表执行RPUSH,他们的项目是否会散布并因此乱序?tadman对他的回答的评论最适合我:CanRPUSHandLPUSHinRedisrace? 最佳答案 由于Redis是单线程的,因此它们不会“同时”发生,一个总是先于另一个到达,尽管时间通常是您无法控制的。现在,如果您有两个流程可以以某种方式协调,您可以让一个流程延迟到另一个流程,直到该操作完成。如果您担心这一点,您可以创建某种

spring - JedisConnectionFactory 的方法已弃用。在 Spring Batch 中使用哪些 XML 配置?

我正在用Springbatch开发一个实用程序,它将从Mysql/Oracle读取数据并将其写入Redis数据库。目前我们仍在使用基于SpringBatchXML的配置(我们仍然喜欢基于XML的配置-几乎没有控制权:))当我配置以下内容时,我发现大多数方法都已弃用。使用以下版本的依赖项:1.81.8UTF-84.0.1.RELEASE8.0.111.2.31.7.252.2.15.0.0.RELEASE1.18.02.9.0谁能建议我应该使用哪些基于XML的配置来配置数据源?我从链接中获取了引用:https://docs.spring.io/spring-data/redis/docs

java - org.hibernate.exception.ConstraintViolationException : Could not execute JDBC batch update

虽然数据已成功插入,但我得到了下面提到的堆栈跟踪。Hibernate:selectattendee_.attendeeId,attendee_.attendeeNameasattendee2_1_fromattendeeattendee_whereattendee_.attendeeId=?Hibernate:selectattendee_.attendeeId,attendee_.attendeeNameasattendee2_1_fromattendeeattendee_whereattendee_.attendeeId=?Hibernate:insertintoevent(eve

mysql - SHOW ENGINE INNODB STATUS 中的 Transaction not started 是什么意思?

这里是'SHOWENGINEINNODBSTATUS;'的几行响应TRANSACTIONS------------Trxidcounter58EC54C6Purgedonefortrx'sn:o我想知道这个“交易transId,未开始”是什么意思?是否有任何查询执行失败?我正在使用innodb。我也没有手动开始交易。它正在考虑自动事务,因为我正在对具有批量数据的表发出更新查询。并且在5-10分钟内,您将在这个单一的表上获得数百个mysql更新查询。请告诉我“交易未开始”到底是什么意思?它是显示失败的查询还是只是一个普通的日志?提前致谢! 最佳答案

mysql - START TRANSACTION 在 BEGIN ... END 上下文或外部和 LOOP 语法中

我有两个关于MySQL中的复合语句和事务的问题。首先:MySQL手册中有两个注释:NoteWithinallstoredprograms,theparsertreatsBEGIN[WORK]asthebeginningofaBEGIN...ENDblock.Tobeginatransactioninthiscontext,useSTARTTRANSACTIONinstead.NoteWithinallstoredprograms(storedproceduresandfunctions,triggers,andevents),theparsertreatsBEGIN[WORK]asth