草庐IT

volatile-ttl

全部标签

redis - 如何使用 StackExchange.Redis 设置带 TTL 的字符串

我正在寻找一种方法来做一个非常simpleTTLRedis中的字符串:那么如何在StackExchange.Redis中执行以下等效操作?SETEXlolcat10"monorailcat"我找到了KeyExpire,但这意味着我设置的每个key都需要调用两次? 最佳答案 糟糕。没关系:_Redis.StringSet("lolcat","monorailcat",TimeSpan.FromSeconds(10)); 关于redis-如何使用StackExchange.Redis设置带T

amazon-ec2 - 雷迪斯 | redis-cli INFO/avg_ttl 值

当我运行命令redis-cliINFO时,其中一个返回值指示avg_ttl。我不确定这是用什么时间单位表示的?例子:#Keyspacedb0:keys=706818,expires=228745,avg_ttl=1521990750 最佳答案 这确实有点令人困惑。TTL命令返回值以秒为单位PTTL命令返回值以毫秒为单位来自INFO的avg_ttl以毫秒为单位另请注意,此平均值avg_ttl只是基于随机检查key的估计值。 关于amazon-ec2-雷迪斯|redis-cliINFO/av

带有 TTL 的 Redis 多集

在redis中有一个SETEX命令允许我设置一个过期的key,是否有这个命令的多集版本也有一个TTL?MSET和MSETNX命令都没有这样的选项。 最佳答案 我也在找这种操作。我没有找到任何东西,所以我用MULTI/EXEC做了:MULTIexpirekey1expirekey2expirekey3EXEC 关于带有TTL的Redis多集,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questio

redis - 集合成员的 TTL

是否可以在Redis中设置TTL(生存时间)而不是针对特定键,而是针对集合的成员?我正在使用Redis文档提出的标签结构——数据是简单的键值对,标签是包含与每个标签对应的键的集合,例如>SETEXid:id_1100'Loremipsum'OK>SADDtag:tag_1id:id_1(integer)1keyid:id_1将按预期过期,但我没有看到从tag:tag_1集中删除相应成员的有效方法。我想出的一种方法是使用包含脚本的cron作业,该脚本会定期从集合中删除过期的key-通过将所有标签名称添加到另一个集合,然后遍历所有标签,然后遍历与每个标签对应的所有ID并检查相应的key是否

swift - 如何在 Swift 中声明 volatile 变量

我想从Objective-C代码转换为Swift,如下所示;intsum=0;x=1;for(inti=0;ix可以从其他线程访问。所以x被声明为一个volatile变量。volatileintx;我应该如何在Swift中编写这段代码?已编辑抱歉我的错误伪代码。只是我想读取最新的值属性或字段,而不是从线程缓存中读取。Javavolatile使这成为可能。Objective-Cvolatile也是如此。(是吗?) 最佳答案 目前在Swift中没有与volatile等价的东西。在Swift中,您可以使用比volatile关键字更有效的方

c# - Interlocked.Exchange 和 Volatile.Write 之间的区别?

Interlocked.Exchange和Volatile.Write有什么区别?这两种方法都会更新一些变量的值。有人可以总结一下何时使用它们吗?Interlocked.ExchangeVolatile.Write特别是我需要更新数组的double项,我希望另一个线程看到最新的值。什么是首选?Interlocked.Exchange(refarr[3],myValue)或Volatile.Write(refarr[3],info);其中arr是声明为double?真实的例子,我这​​样声明double数组:privatedouble[]_cachedProduct;在一个线程中,我这样

c# - 锁变量应该声明为 volatile 吗?

我有以下Lock语句:privatereadonlyobjectownerLock_=newobject();lock(ownerLock_){}我应该使用volatile吗?我的锁变量的关键字?privatereadonlyvolatileobjectownerLock_=newobject();在MSDN上我看到它通常用于不带锁访问的字段,所以如果我使用Lock就不需要使用volatile吗?来自MSDN:Thevolatilemodifierisusuallyusedforafieldthatisaccessedbymultiplethreadswithoutusingthelo

c# - 这个(volatile bool)总是线程安全的吗?

我想知道这是否是完全线程安全的,以及是否应该使用volatile关键字。usingSystem.Threading;classProgram{privatestaticvolatilebool_restart=true;privatestaticvoidMain(){while(_restart){//Dostuffhereeverytimeforaslongas_restartistrueThread.Sleep(1);}}privatestaticvoidSomeOtherThread(){Thread.Sleep(1000);_restart=false;}}我想是的,但我想仔细

c# - Volatile 违反了它的主要工作?

根据MSDN:Thevolatilekeywordindicatesthatafieldmightbemodifiedbymultiplethreadsthatareexecutingatthesametime.Fieldsthataredeclaredvolatilearenotsubjecttocompileroptimizationsthatassumeaccessbyasinglethread.Thisensuresthatthemostup-to-datevalueispresentinthefieldatalltimes.请注意最后一句:这可确保字段中始终显示最新值。但是,

docker 和 "volatile volumes"ala/tmp

我运行一个带有2个Docker镜像的服务器,其中一个负责构建和打包,因此在/tmp上创建了很多短暂的东西。我希望这个容器/tmp不受持久卷(联合fs或卷)的支持,而是使用主机的/tmp,后者又是一个tmpfs卷,非常适合此类操作。保存对普通驱动器的访问会产生开销并导致对HDD的访问(磨损),我希望尽可能多地留在RAM中。一些选项是:将/tmp/:/tmp绑定(bind)到docker进程。如果另一个进程访问此目录,似乎不是很安全,并且有问题将卷绑定(bind)到/tmp。这意味着它在硬盘上,除非我设法将它移动到/tmp。然后仍然存在每次容器停止时删除此卷的问题,因为我更喜欢干净的石板。