草庐IT

key_value

全部标签

redis - Redis "EXPIRE"命令是否刷新 key 的当前生命周期?

假设我们有现有的键,比如key1Redis中的非空值。考虑它已经设置了到期时间。如果我们再次对该key调用EXPIRE命令,在此有效期内,比如EXPIREkey110,它会刷新该key的当前生命周期吗?“生命周期”我的意思不是有效期,而是这个特定key在内存中已经存在多长时间的当前计数器准确地说,例如:上午10:00我们打电话:SETkey1"Blabla"EXPIREkey1600上午10:05我们打电话EXPIREkey1600key1将在什么时间到期-上午10:10还是上午10:15? 最佳答案 是的,它确实冲洗了它。可以直接

caching - Redis内存管理-基于key、数据库或实例清除

我是Redis的新手。我已经在我们的应用程序中实现了缓存,并且运行良好。我想存储两种主要数据类型:目录列表和文件内容。它并不是真正相关,但这将缓存通过WebDAV提供的文件。我希望文件结构几乎永远保留。文件内容只需要缓存很短的时间。我已经设置了我的到期时间/TTL来反射(reflect)这一点。当服务器达到内存容量时,是否可以将某些缓存项优先于其他项?即刷新key、刷新整个数据库或刷新整个Redis实例。我想保留我的目录列表并在内存开始成为问题时刷新文件内容。编辑:阅读thisarticle似乎是我需要的。我想我需要使用volatile-ttl。我的文件内容将有一个更短的TTL集,所以

php - 仅前缀 redis session key

有没有办法在整个应用程序中使用一个Predis客户端连接,但只为sessionkey添加前缀?Predis库只允许通过设置选项参数wheninstantiatingaclientobject来定义键前缀:$sessionClient=newPredis\Client($config,array('prefix'=>'session-'));我在一个Redis实例中存储的不仅仅是session。因此,要存储不带前缀的其他值,我认为这会起作用:$client=newPredis\Client($config);但是键仍然有前缀。我假设Predis正在跨客户端实例共享连接和选项。那么一个前缀

python - 基于值组合的安全散列 key

我在MongoDB中有大量记录/文档,我需要通过每个文档列表中的值组合来限制对项目的访问。想象一下安全的可能的单个值是[1,2,3]。记录可以是这些的任意组合,即:()(1,)(​​2,)(3,)(1,2)(1,3)(2,3)(1,2,3)有权访问[1]的用户只能看到包含()&(1)的记录有权访问[2]的用户只能看到包含()&(2)的记录有权访问[1,2]的用户只能看到具有(),(1),(2),(1,2)的记录只有可以访问[1,2,3]的用户才能看到所有记录现在在数据库的入口点,我知道用户的访问权限是什么,例如[1,2,3]。但我不能轻易地(尤其是索引)查看记录以检索用户有权访问的所有

javascript - NodeJS 和 mongo : insertMany changing value from data in the callback function

如果有这段代码,我在mongodbNode中插入许多项目:constextractions=[{name:'xpto'},{name:'otherxpto'}]console.log('extractionsbefore',extractions)dbase.collection('someendpoint').insertMany(extractions,(err,data)=>{console.log('extractionsafter',extractions)})奇怪的是,inserMany()方法正在更改extractions常量(将_id添加到每个项目),如下所示:输出:e

ruby-on-rails - rails +MongoDB : Find ObjectId bigger than given value

我正在尝试在MongoDB中查找下一个(最新的)文档:Article.find({'_id'=>{"$gt"=>Moped::BSON::ObjectId(id_from_database)}})但是每次我运行这个查询,我都会得到Problem:Document(s)notfoundforclassArticlewithid(s){"_id"=>{"$gt"=>"givenvalue"}}.我已经安装了这些gem:gem'mongoid'gem'bson'gem'bson_ext'但还是找不到问题...我将不胜感激!谢谢 最佳答案

Javascript (mongojs) : Return a value in a function

我正在使用mongojs,我必须从从mongodb获取的对象中检索一个字段。我不明白如何返回该字段:functionretrieveVertById(id){varresult=[];db.clusters.find({id:id},function(err,clusters){if(err||!clusters)console.log("Noclusterfound");elseclusters.forEach(function(cluster){vert=cluster["vertices"];result.push(vert);console.log(result);});})r

mongodb/ meteor : how to I get the value of one field corresponding to the $max value of another field?

我有一个包含以下字段的消息集合:_id、senderId、receiverId、dateSubmittedMs、message,对于给定的用户,我想将所有其他用户的最新消息返回给他。因此,例如,如果有用户Alex、Barb、Chuck、Dora,我想返回Alex与Barb、Chuck和Dora之间的最新消息。做这个的最好方式是什么?我可以使用聚合一步完成吗?官方在线文档(http://docs.mongodb.org/manual/reference/aggregation/min/)中的聚合示例显示了如何在集合中找到最低年龄的群体,但我需要的是类似于在人群中找到最年轻的人的名字。这是

python - 在 pymongo 的 MongoClient() 中包含一个 key 文件

我曾经使用以下方式连接到mongo服务器:connection=pymongo.MongoClient(host,int(port))但是,我们最近在访问数据库时安装了单独的key文件安全性。我有consulteddocumentationhere,和inotherexamples,看起来包含它的正确方法应该是:connection=pymongo.MongoClient(host,int(port),ssl=True,ssl_keyfile="/.ssh/mykeyfile")但是,尝试ssl_keyfile或ssl_certificate标志都返回pymongo.errors.Co

javascript - 在本地存储中存储 session key

好的,我有一个用node.js编写的API,我正在尝试向其添加session功能。API是完全RESTful的。当用户登录时,我将带有GETajax调用的用户/密码组合发送到/login端点。然后服务器对密码进行加盐并将其与存储在我的mongo数据库中的哈希值进行比较。然后它会根据登录是否成功以true或false进行响应。我要实现的是:当用户输入有效的登录名时,服务器会生成一个sessionkey。该key存储在用户文档中的mongo中。然后,此sessionkey随GET请求一起返回。然后,此sessionkey将包含在所有future请求的JSON正文中,以允许用户访问其帐户信息