草庐IT

Redis_Proxy

全部标签

node.js - Redis-Node库,使用什么数据结构?

我正在使用redis-node库(http://github.com/bnoguchi/redis-node),要求如下:我有一组编号的项目[1,2,3](这些项目不能重复),我需要按请求的项目数量POP/PUSH到另一个列表,主列表的第一个并推送进入另一个列表。所以,我认为更好的选择可以是排序集,因为项目不能相同,但我没有同时弹出和添加的方法(这必须在事务中block),我需要弹出列表/集合的第一个项目,而不是随机的。最好的方法是什么? 最佳答案 如果您希望以原子方式(非事务性)做某事,那么您可以支持luascripts.此外,r

redis - 在 Redis 中,如何在多个排序集合中获得最高分?

假设我有多个排序集:zset1zset2zset3这是所有集合的数据:zset1-----A:1B:22C:4D:555zset2-----N:14O:15P:16D:2750zset3-----D:333Y:0Z:1这就是我想要的结果。哪些zsets包含最高值的key对。这些key对是什么?Results-------zset2:D:2750zset1:D:555zset3:D:333zset1:B:22...我研究过使用ZINTERSTORE,但它似乎无法在多个zsets中仅获得前100个最高分。如果重要的话,我有成百上千个zset。 最佳答案

node.js - 如何在 Redis 中设置键的流行等级?

刚开始使用Redis并将其整合到Node+Express应用程序中。我目前正在使用Redis存储第三方API结果,以减少我的应用发出的请求。示例:用户搜索“加利福尼亚”,我的应用程序检查该查询是否已存在于Redis数据库中,如果存在,则获取相关的JSON对象。如果不是,Redis会设置键(查询)和值(来自第三方API的JSON对象)。我希望能够对所做的查询进行排名。假设“California”被搜索了4次,而“Montana”只被搜索了一次——我想返回“California”。收集HitTest门搜索键排名的最佳方法是什么?我能找到的最接近的是this,但排序集似乎不允许键AND值。这

ssl - logstash 可以通过 ssl 访问 redis 输入吗?

我正在Azure上设置云服务,并希望在Redis中缓冲日志。然而,在Azure上将Redis作为Web服务运行意味着我的请求必须离开我的虚拟网络,这意味着必须进行加密。我已经搜索了几个小时,但没有找到任何线索是否可以通过ssl从redis读取logstash。这根本不可能吗? 最佳答案 似乎redis无法使用ssl并且azure的redisweb服务似乎带有自定义ssl支持,这似乎是redis输入不支持ssl的原因。但是这个解决方案(stunnel)帮助我解决了我的问题:http://bencane.com/2014/02/18/s

redis - 仅当我使用异步数据库操作时,Twisted 才不会发回数据

在处理了inlineCallbacks和twisted/txredisapi的yield之后,我可以将数据保存到redis中。感谢txredisapi的作者。现在我遇到了一个新问题,在保存到数据库之前/之后,套接字服务器不会发送回客户端。Twisted提供如下简单的套接字服务器:fromtwisted.internetimportprotocol,reactorclassEcho(protocol.Protocol):defdataReceived(self,data):self.transport.write(data)###writebackclassEchoFactory(pro

c# - ServiceStack.Redis 无法连接sPort

几天来我一直在努力弄清楚为什么我会收到诸如http://i.imgur.com/cfCBWRS.png之类的异常。publicvirtualboolCreateOrUpdateValueById(TQueryquery,TResultvalue){using(varredisClient=Connection.RedisManager.GetClient()){varredis=redisClient.As();varkey=query.GetKeyWithId();redis.SetEntry(key,value);returntrue;}}它在数百个项目的循环中运行。foreach

redis - 凝胶 redis 键(和它们的)值超过阈值

我有一个redis转储,其中包含String/Double类型的键/值对。是否有可能获得所有值大于给定数字的键(或它们的计数)? 最佳答案 如果你使用一个SortedSet,你的double作为分数,你的字符串作为成员,你就可以做到这一点,然后你可以ZRANGEBYSCORE.例如,获取所有得分大于1的成员:>ZADDzzz1one2two3three(integer)3>ZRANGEBYSCOREzzz(1+infWITHSCORES1)"two"2)2.03)"three"4)3.0

c# - 如何在 Servicestack.Redis 中使用 "New Managed Pub/Sub Server"取消订阅 channel

在NewManagedPub/SubServer他们的文档展示了如何在pubsubserver的初始化中订阅channel。但是,您如何在程序稍后需要时取消订阅特定channel?我的代码:usingServiceStack.Redis;usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Threading;namespaceva.communication{classProgram{staticvoidMain(string[]args){varclientsManager=newPoole

caching - Redis 缓存 lru 启动 softlimit

我知道redis可以用作LRU缓存,但是否有softlimit标志,我们可以在达到特定条件后声明“redis将开始清理LRU项”。实际上我在redis上遇到OOM错误,我已将redis设置为LRU缓存,但它达到了OOM限制并且应用程序停止了。我知道“maxmemory”标志,但是否有一个软限制,我们有大约10%的空间,我们可以开始驱逐一些项目,这样应用程序就不会停止! 最佳答案 您是否设置了特定的驱逐政策?参见:驱逐政策http://redis.io/topics/lru-cache然后我会检查,以确保您没有无意中在您的redis对

redis - 如何从 Redis 中的集合中自动删除过期的 key ?

比如说,我在Redis数据库中有4个键。key从现在起10秒后过期。我已经将key添加到一个集合中。当key过期时,它们实际上不再存在于数据库中(get返回空值)。但是,键仍然是集合的成员。该集合将继续存在,直到从集合中删除键为止,此时它太有效地从数据库中消失了。是否可以在key过期时自动从其所属的集合中删除key?我正在考虑为每个键维护一个集合以维护它所属的集合(在键和集合之间建立有向图集合关系),然后注册键过期事件以在必要时删除集合成员。作为数据库的使用者,而不是作为内部的某种后台清理线程,这是很多开销。而且,这种方法将是清理集的“最大努力”,因为订阅过期事件的消费者代码可能会崩溃