草庐IT

transaction_batch

全部标签

spring-transaction源码分析(2)EnableTransactionManagement注解

概述(Javadoc)该注解开启spring的注解驱动事务管理功能,通常标注在@Configuration类上面用于开启命令式事务管理或响应式事务管理。@Configuration@EnableTransactionManagementpublicclassAppConfig{@BeanpublicFooRepositoryfooRepository(){//configureandreturnaclasshaving@TransactionalmethodsreturnnewJdbcFooRepository(dataSource());}@BeanpublicDataSourcedataS

c# - 在 SQLite + BEGIN TRANSACTION 中更新更快

这个也与spatilite有关(不仅是SQLite)我有一个文件数据库(xyz.db),我通过SQLiteconnection使用它(SQLiteconnection是扩展到空间)。我有很多记录需要更新到数据库中。for(inty=0;y在上面的逻辑中,castarraylist是Arraylist,其中包含需要处理到数据库中的值。当我检查上面的代码时,在1分钟内更新了大约400条记录。有什么方法可以提高性能吗?注意::(文件数据库不是线程安全的)2。开始交易假设我想在Spatialite中使用单个事务运行两个(或数百万个)更新语句。这可能吗?我在线阅读并为我准备了以下声明(但没有成功

python /SQLite3 : cannot commit - no transaction is active

我正在尝试编码bookindexer使用Python(传统的,2.7)和SQLite(3)。代码归结为以下SQL语句序列:'selectcount(*)fromtag_dict'()/*[(30,)]*/'selectcount(*)fromfile_meta'()/*[(63613,)]*/'begintransaction'()'selectidfromarchivewherename=?'('158326-158457.zip',)/*[(20,)]*/'selectidfromfilewherename=?andarchive=?'('158328.fb2',20)/*[(12

batch-file - 执行redis命令的批处理文件

我正在尝试在批处理文件中编写以下命令。cdC:\Redisredis-cliselect6文件名为“xxx.bat”它应该连接到本地redis实例并选择数据库6。但它在第二个命令“redis-cli”处停止。甚至不写第二个命令“select6”在命令提示符下。我的意思是我连接到服务器,但不写下一个命令。我想我对在批处理文件中执行命令一无所知。我可以毫无问题地在批处理文件之外运行这些命令。有人可以发现问题吗。问候 最佳答案 CMD不会将命令传递给redis-cli。您可以使用redis-cli中的quit对其进行测试,您将看到sele

transactions - 如果 Redis 在事务中间触发快照怎么办?

假设我每隔几分钟用快照设置我的Redis备份,不幸的是当快照被触发时,一个事务(使用管道)正在处理中。Redis是如何处理这种情况的呢?快照会延迟到交易完成吗?或者保存交易的第一部分?或者在下一次备份之前排除整个事务? 最佳答案 请记住,Redis是一个单线程事件循环。执行EXEC命令时,事务以原子方式应用。因此,RDB后台保存进程要么在EXEC之前fork,要么在EXEC之后fork。您可以认为fork对Redis的内存进行了即时快照。如果EXEC在fork之前应用,那么您的交易将在生成的转储中。如果在fork之后应用EXEC,您

c# - .NET StackExchangeRedis 和 Batch 的执行顺序不能保证?

我正在审查以下代码,它试图:将键/值添加到Redis数据库。为新的Redis键设置一个过期时间。即{varbatch=database.CreateBatch();vartasks=newTask[]{batch.SetAddAsync(key,value,flags),batch.KeyExpireAsync(key,expiry,flags)};batch.Execute();awaitTask.WhenAll(tasks)}在单个redisBatch中完成这一切。我的印象是,当涉及到批处理时,您不能假定顺序,更不用说async/await中的多个任务了。因此,可能会出现以下顺序:

Redis: Publish pipelined/batched messages - 获取管道/批处理消息

我正在使用redisson作为javaredis客户端。当我将包含多个.publish(msg)命令的批处理发送到Redis时,Redis是否将这些消息作为“批处理/管道”发送回订阅者在一个网络连接中以便redisson一次处理它们?问候,RoboFlax 最佳答案 redisson的工作人员mrniko回答没有。https://github.com/redisson/redisson/issues/1347#issuecomment-374651601 关于Redis:Publishp

Redis Cluster - transaction vs LUA 脚本,哪一个会产生更好的性能?

如果我可以在Redis集群中使用事务和LUA脚本(不是缓存脚本)获得相同的结果,哪个具有更好的性能?每次执行LUA脚本都必须编译,对吧?那么对性能有影响吗?我找不到任何方法在Redis集群的服务器上缓存脚本,并且只为该脚本接收一个sha1并根据交易文件:"wemaydeprecateandfinallyremovetransactions"Transaction会被LUA脚本取代有什么原因抱歉,如果我有任何错误! 最佳答案 StackExchange.Redis在幕后自动使用准备好的脚本(SCRIPTLOAD、EVALSHA等),因

spring - 无法连接到 10.XX.XX.28 :6379: Unknown error - while accessing from Spring Batch or windows machine 处的 Redis

我已按照链接中的所有步骤进行操作:https://linuxtechlab.com/how-install-redis-server-linux/并使用以下linux版本。uname-aLinuxech-10-XX-XX-282.6.32-696.13.2.el6.x86_64#1SMPThuOct517:03:21PDT2017x86_64x86_64x86_64GNU/Linux这是安装在云上虚拟机和本地Windows机器上的某处我正在尝试访问redis出现以下错误,此处提到:nestedexceptionisredis.clients.jedis.exceptions.Jedis

java - vertx-redis-客户端 3.7.0 : How to use redis transaction

我在我的一个项目中使用Vertx3.7.0。我必须使用redis事务。我在API中找到了一个方法:Redis.batch()希望批处理将在单个事务中执行,但文档非常非常差。谁能告诉我如何在vertx-redis-client中使用redis事务?我可以使用RedisAPI.multi()吗?交易?我真的很感激一个例子。 最佳答案 Redis事务遵循redis协议(protocol),这意味着您使用multi开始事务,然后是您的命令并以exec结束。如果你只有一个代码流访问redis客户端,这就足够了。但是,如果多个源访问客户端,则其