草庐IT

redis-graph

全部标签

Redis:会在键上设置覆盖 setex 吗?

如果我使用setex设置一个过期的key,然后使用set更新该key的值,set删除过期属性?setextestKey10val1235秒后...设置testKeyval456 最佳答案 是的,到期/超时将被删除。如果你想保持超时,你必须使用TTL命令来获取剩余的生存时间,并调用SETEX来重置值和超时。为了使这两个操作成为原子操作,您可以将它们包装到一个Lua脚本中。此外,您可以使用PTTL和PSETEX来获得毫秒精度。 关于Redis:会在键上设置覆盖setex吗?,我们在Stack

redis zrange 与 zrangebyscore(-inf +inf)

在下一种情况下哪种方法更好:我需要获取一些按分数排序的元素,我可以使用这两种方法:1.zrangemyZset15WITHSCORES2.zrangebyscoremyZset-inf+infWITHSCORES41在redis文档中,这两种方法都有时间复杂度:O(log(N)+M)那么,在我的案例中执行时间有什么不同吗 最佳答案 在zset中的60k个元素上进行10k次迭代的时间:zrangemyZset15WITHSCORES:0.70670008659363zrangebyscoremyZset-inf+infWITHSCOR

redis - 是否阻止 lua 脚本 redis?

我为redis4使用简单的lua脚本:localresult={}localvcounters=redis.call("zrange","vcounters::"..date,0,-1,"withscores")locali=1whilei它是来自客户端脚本的替代zrange/scard命令,运行速度快4-5倍。但是这个脚本是否会阻止zadd命令? 最佳答案 是的,当脚本运行时,不会执行其他数据库命令(它们必须waituntilitisdone)。从好的方面来说,如果您需要它是原子的,那么脚本也不会与并发数据库更新交错(而从客户端发

node.js - redis中循环保存数据的方法

使用这个redisNode客户端https://github.com/mranney/node_redis我想在循环中同时保存这三个用途。但不能保存只有最后一个用户被保存了吗?在这里,我想将rahul0、rahul1、rahul2保存为redis中的用户但只有rahul2得救了。varredis=require("redis"),sys=require("sys"),client=redis.createClient();client.del("channels.59-O");for(varj=0;j请建议怎么做? 最佳答案 您每次

gcc - 如何在 FreeBSD 8.1 64 位上使用 "gmake 32bit USE_JEMALLOC=yes"for redis

我无法在FreeBSD64位上编译2.4redis32位。我已经完成了:cd/usr/lib32ftpftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/8.1-RELEASE/lib32/promptmget*.*quitshinstall.shcsup-hcvsup.freebsd.org/usr/share/examples/cvsup/standard-supfilecd/usr/src;makebuild32install32;ldconfig-v-m-R/usr/lib32但是当尝试编译redis时我得到:#gmake32bit

ruby-on-rails - 我应该在 Rails 中为 Redis 创建一个新类吗?

我开始使用Redis,首先我的代码不太枯燥,打算将其合并到application.rb和Controller中。这是最好的方法,还是我应该创建一个名为Redis的新类,并在其中包含所有逻辑?我的模型目前是客户、订单、产品,我使用了很多计数器。 最佳答案 您可能需要新模型类和现有模型类的组合。在许多情况下,您可以将View使用的模型直接放入数据存储中,这样可以避免重复。但是,总会有一些地方对View和数据存储的需求不同。例如,在View中显示为值列表的属性可能需要存储为单独的设置键,而不是与模型的其他属性一起序列化。

memory - Jruby、垃圾收集器、Redis

我有一个JrubyOnRails应用程序,它使用多个WS来收集数据。该应用程序处理数据并将其显示给用户,用户进行更改,然后将其发送回WS。这里的问题是我将所有内容都存储在使用内存存储的缓存(基于session)中。但是有时会在没有明确原因的情况下(至少对我而言)弹出此错误:ActionView::Template::Error(GCoverheadlimitexceeded)我阅读了我能找到的有关它的内容,显然这意味着垃圾收集器花费了很多时间来尝试释放内存,并且在这个方向上没有取得真正的进展。我的猜测是,由于所有内容都像缓存一样存储在内存中,因此GC会尝试释放它但无法做到并抛出此错误。

session - Node.js:无法在 Redis pubsub 事件中更新 session ?

我正在尝试开发一个node.js应用程序,它使用redis在后端进程和Node之间传递消息。我希望能够在收到消息的用户session(连接session)指示器中保存。当用户执行ajax查询“IsMessageRecieved”时,我想向他返回我在session中放置的值。我试着用下面的代码来做,但没有成功,session没有被更新。redisSub.on("message",(channel,connectsid)->sessionStore.getconnectsid,(err,session)->if(err||!session)returnelsesession.Message

redis - 具有 Redis 代理的 celery worker 无法执行 Django 任务

最近我正在通过开发自己的Reddit克隆(在ubuntu14.04LTS上)学习Python(2.7)/Django(1.5)。我正在尝试将Celery(3.1)与Redis结合起来,使用它定期运行排名算法作为一项任务(在我的本地设置上)。但不幸的是,我无法让这个简单的任务执行一次!你能帮我发现我做错了什么吗?这是我的目录结构:-unconnectedreddit(manage.pyishere)-links(tasks.py,models.py,views.py,admin.py)-unconnectedreddit(celery.py,__init.py___,settings.p

ruby-on-rails - 使用 RSpec 测试 Redis 事务

我正在使用WATCH/MULTI/EXEC命令序列来完成Rails应用程序中的事务。我想详细说明应用程序在交易成功和交易失败时的行为(特别是在交易期间在另一个session中修改监视的key时)。具体来说,给出下面的(人为的)示例,我如何编写一个规范,在执行任意计算时始终修改Redis中的testval?deftest_watchREDIS.watch("testval")doval=REDIS.get('testval')val+=1000#arbitrarycomputationREDIS.multido|m|REDIS.set('testval',val)endendend