草庐IT

CMOS与TTL(下):TTL、CMOS

全部标签

redis - 在redis 2.8中,如何修改值并保持TTL不变

我有Redis2.8.19。在下面的序列中,我希望在修改mykey的值时不会重置原来的60秒过期时间。127.0.0.1:6379[10]>SETmykeyAEX60NXOK127.0.0.1:6379[10]>TTLmykey(integer)53127.0.0.1:6379[10]>GETSETmykeyB"A"127.0.0.1:6379[10]>TTLmykey(integer)-1127.0.0.1:6379[10]>GETmykey"B"在GETSET之后,我希望TTLmykey返回大约40秒而不是-1.是否可以在不丢失或重置超时的情况下修改该值?感谢您提供任何提示或解决方

redis - 关于带有 TTL 的键的 redis EVAL 原子性怎么样?

据我所知,从客户端的角度来看,redis是单线程解决方案。但是一般架构呢?有趣的是,我们有一些lua脚本可以在具有一些TTL的键上执行多个命令。Redis垃圾回收是如何工作的?它会中断EVAL执行并驱逐某些值或内部任务与用户任务共享单个线程吗? 最佳答案 Lua是majik,正因为如此,当Redis执行Lua时时间会停止。换句话说,一旦你开始运行脚本,过期就会停止,因为时间不会提前。但是,如果key在脚本启动前过期,脚本将无法使用它。 关于redis-关于带有TTL的键的redisEVA

redis - 是否可以为 redis 中的所有键设置默认 ttl?

我已经阅读了redis配置document但找不到这样的选项。我搜索并发现“默认情况下,key将永远存在”。我想急切地改变这种默认行为。NormallyRediskeysarecreatedwithoutanassociatedtimetolive.Thekeywillsimplyliveforever,unlessitisremovedbytheuserinanexplicitway,forinstanceusingtheDELcommand.TheEXPIREfamilyofcommandsisabletoassociateanexpiretoagivenkey,atthecost

java - 使用 TTL 的最佳海量数据持久存储?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭7年前。Improvethisquestion我们正在构建一个系统,该系统需要将大量数据放入某个持久存储中并保存一段固定的时间-30到60天。由于数据并不重要(例如,当虚拟机出现故障时,我们可能会丢失一些数据)并且我们不想为每次请求都保留数据而付出代价(延迟对我们来说至关重要),我们正在考虑缓冲和批处理数据或以异步方式发送。数据仅附加,我们需要为每个请求保留2-3个项目,系统进程在水平扩展的多个主机上约为10krps。我们在选择Mon

mongodb - 在 Mongo TTL 中使用 future 日期

我们目前正在试验Mongo的新TTL功能,并希望记录根据记录创建时间的“future”日期过期。这样不同的记录可以有不同的有效期。例如,像这样:db.createCollection("sushi")db.sushi.ensureIndex({"best_before":1},{expireAfterSeconds:1})db.sushi.insert({name:"ngiri",best_before:newDate('2012/10/02')})但在我们的初始测试中,如果索引日期字段在创建记录时是future的时间,则文档不会从集合中删除。为什么这不起作用?谢谢

python - 如何更改 TTL 索引的 mongodb 默认清理时间?

我想将TTL设置为2-3个月左右,因此每60秒后检查一次TTLindexex显然是不可行的。我想通过每天检查一次TTL来减少开销。有没有办法手动/以编程方式定义这个时间? 最佳答案 据我所知,这是不可能的。前段时间我一直在寻找这个选项,但除了disablingitcompletely之外没有找到任何东西。.我倾向于认为这是不可能修改的,因为在TTLdocumentation明确告知:Thebackgroundtaskthatremovesexpireddocumentsrunsevery60seconds.并且serverconfi

mongodb - MongoDB TTL过期检查的变化周期

关于基于TTL索引的文档过期MongoDBdocumentation说:Thebackgroundtaskthatremovesexpireddocumentsrunsevery60seconds.Asaresult,documentsmayremaininacollectionduringtheperiodbetweentheexpirationofthedocumentandtherunningofthebackgroundtask.有没有办法通过配置改变那个周期?或者它是硬连接在mongod代码中的? 最佳答案 到今天为止,这

java - 在 mongoDB 集合上设置 ttl - 在应用程序或 shell 中?

我想为集合设置ttl一次,在构建使用mongoDB的java应用程序时,实现此目的的惯用方法是什么?ppl是否只是在shell中应用这些设置?或者在应用程序代码中是否正常检查数据库中是否已存在一个集合,如果不存在则使用所需的选项创建它?谢谢! 最佳答案 我再也没有在我的应用程序代码中构建索引。我承认我曾经。每次我的应用程序启动时,我都会确保我的所有索引,直到突然有一天,一位新手开发人员掌握了我的代码并意外删除了我的一个索引序列中的一个字符。因此,由于在前台处理此索引构建,整个集群卡住并停机。幸运的是,我有一些延迟的和非索引构建的奴隶

php - 使用 Doctrine MongoDB ODM 为收集设置 TTL

从MongoDB2.2开始,可以将“ExpireDatafromCollectionsUsingaTTL”实现为一种特殊的索引类型。最新版本的DoctrineORM支持这个IndexOption.不幸的是,我无法找到如何使用原则注释/配置文件正确设置此索引。这就是我尝试做的方式,我希望有人能帮助我正确设置它:然后当我执行phpapp/consoledoctrine:mongodb:schema:update时(在symfony2.3.x中)索引已生成,但生成的索引看起来不正确。这是我在数据库中执行db.system.indexes.find();时得到的结果:{"v":1,"key":

javascript - 如何在 Mongoose 中设置文档创建的 TTL 日期?

我正在尝试在Mongoose中创建一个promoCode模式。创建时,我需要能够设置促销代码的到期日期。促销代码不一定具有相同的TTL。我看了thisquestion,但我的文件还没有过期。这是我的promoCode.js文件:varmongoose=require("mongoose");varpromoCodeSchema=mongoose.Schema({expirationDate:Date,createdAt:{type:Date,expireAfterSeconds:Number,default:Date.now}})module.exports=mongoose.mode