草庐IT

Redis-Commands

全部标签

set - 在 Redis 中使用 WATCH 实现 ZMOVE

Redisdocumentationontransactions给出了如何实现ZPOP的示例。我如何implementZMOVEforRedissortedsets(类似于SMOVE)? 最佳答案 这样对吗?..将元素ele从排序集z1移动到z2并给它SCORE1,即:ZMOVEz1z21eleWATCHz1z2MULTIZREMz1eleZADDz21eleEXEC我会将SCORE设置为当前时间,但为了简单起见,我在这里只使用了1。 关于set-在Redis中使用WATCH实现ZMOV

Redis 将 id 存储在列表/集合中

使用redis,如果我有一个产品列表,例如top100(其中一个产品是一个哈希集,可能属于许多列表,例如xmasideas、toprated等)例如top100:["产品:2","产品:234","产品:3423",...,"产品:7343"]如果我想提取top100的前10个项目以显示在网页上,这是正确的方法吗1)获取list左边范围0到10,LRANGEtop1000102)然后遍历返回的10个id并对每个id执行GET3)投影与展示或者Redis是否提供了一种将ID解析为其他key服务器端的方法? 最佳答案 目前,Redis不

node.js - 多 channel 取决于路径与nodejs和redis

我尝试根据同一端口中nodejs的路径创建多channel。例如(我的端口是8080):www.exemple.com:8080/channel/1www.exemple.com:8080/channel/2www.exemple.com:8080/channel/3www.exemple.com:8080/channel/4每个url路径channel对应一个channelredis例如(channel-X):varchannel='channel-X'getRedis.subscribe(channel);但我不知道如何链接channel并重复网址。这是我到当前时间的代码。sock

logging - Redis - 定义最大日志文件长度

我目前正在配置我的Redis服务器,我想知道是否有办法在redis.conf中定义最大日志文件长度?我在文档中没有看到任何相关内容。有什么想法吗?谢谢 最佳答案 hellvinz走上正轨。我认为logrotate是一个非常合适的解决方案。这是关于logrotate的相当可靠的教程:TheUltimateLogrotateCommandTutorialwith10Examples 关于logging-Redis-定义最大日志文件长度,我们在StackOverflow上找到一个类似的问题:

python - 构建处理 redis 和 cache_method 装饰器的测试

所以我正在尝试使用redis为项目构建一些测试,但我有两种方法给我带来了麻烦。这两种方法都使用@cache_method()装饰器,并会吐出类似于AssertionError:[]!=[]的失败报告或AsserionError:[]!=[].这些测试都符合以下内容:self.assertEquals(self.ObjectName.Method(),ObjectName.objects.none())或self.assertEquals(self.ObjectName.Method(),ObjectName.objects.filter(...))如果我使用类似self.assertE

Redis延迟键添加

我有3个虚拟机vm1、vm2和redis-server都相互连接。vm2上的各种进程,调用vm1中的RPC。但是RPC的参数存储在Redis中。vm2将key传递给vm1的参数。vm1获取相应的值(即参数)并执行调用。大多数时候它工作得很好。但是,有时我看到vm1无法获取属于vm2发送的键的值。片刻之后,我看到键值已添加到redis-server。我查看了redis配置文件以确定是否是某些选项导致了此问题。还搜索了一些文档。但是,我不知道为什么会这样。有人知道为什么会发生这种情况以及解决这个问题的方法吗? 最佳答案 这里没有太多细节

ruby-on-rails - 使用 rails 缓存时使用 rails 处理 redis maxmemory 情况

当redis达到“maxmemory”条件时,它会让客户端进行读取,而不是写入。这当然会导致fatalerror...有没有办法让Rails处理缓存读取或写入错误,所以如果缓存发生问题(可用性、读取、写入等),它将继续就像缓存设置为“关闭”一样运行? 最佳答案 当Redis填满其内存时,您可以告诉它遵守不同的行为。#volatile-lru->removethekeywithanexpiresetusinganLRUalgorithm#allkeys-lru->removeanykeyaccordinglytotheLRUalgor

nginx - 选择实时读取哪个 Redis 服务器的最佳实践

我有一个nginx服务器,它有一个redismaster和两个salves的master。从机是读的,主机是读写的。Nginx服务器是使用spawedpython应用程序和pyredis的fastcgi。什么时候从我的nginx应用程序读取数据,确定三台服务器中哪个服务器获得读取数据的最佳做法是什么?是实时确定的吗?我只是实时使用循环法进行简单的随机选择吗?再一次,我只有主人。很快我就会有两个,并且会使用http://pypi.python.org/pypi/hash_ring在python中使用一致的散列。所以选择哪个服务器获取key。在此期间,选择哪个服务器将使用散列环进行读取是否

redis - 使用 redis 扩展

我想知道如何使用本页提到的redis功能...https://github.com/mkrecny/redis-extend我需要安装任何依赖项吗?喜欢路亚?这些文件有几行代码,例如returnredis.call(ARGV[2],unpack(redis.call('keys',ARGV[1])))预计如下使用:PATTERNOP模式操作对匹配“模式”的所有键执行“操作”(例如DEL)但是上面的Patternop命令不起作用。 最佳答案 这需要最新的2.6版本的redis。我正在尝试不支持EXEC命令的旧版本。

node.js - 使用 redis 限制为 10 个结果

我想知道如何对redis查询限制10个结果。我正在使用Nodejs库和streamline.js。基本上,我将hgetall作为一个命令执行,但文档指出“SORT”命令有一个LIMIT选项。我只是想知道是否有任何方法可以在redis中应用限制。以下是其中一个查询的示例:members.hgetall(All,_); 最佳答案 HGETALL检索特定哈希键的所有成员(字段和值)。所有这些,但不限于此。当谈到SORT时,它指的是对List、Set和SortedSet的操作.它按照SORT参数的规定,以有序方式返回这些结构的成员。参见SO