草庐IT

redis-test

全部标签

redis - 如何比较 Redis 中的 unix 时间戳?

假设我有一个存储在键中的unix时间戳值>SETtimer1465057009有没有比较时间戳和当前时间戳的命令?>IS_BEFORE_NOW(timer)1 最佳答案 没有。但是你可以使用一个简单的lua脚本来实现它。为此,您需要使用redis命令时间,它将返回服务器时间。localtimer=redis.call("get","timer")iftimer>redis.call("time")[1]thenreturntrueendreturnfalse 关于redis-如何比较Re

asynchronous - 同步 redis 调用是否会使 Tornado 应用程序变慢?

我正在尝试将缓存添加到Tornado应用程序,数据在Mongo中。我将Redis用作共享缓存存储。由于tornado是一个异步框架,我正在考虑为Redis使用一个异步客户端,它使用tornado的ioloop从Redis服务器获取数据。现有的解决方案都不是很成熟,听说这些客户端的吞吐量也不好。所以我的问题是,如果我使用像pyredis这样的同步Redis客户端,它会对我的应用程序的性能产生负面影响吗?我的意思是,考虑到Redis实例位于同一个LAN中,redis命令的延迟非常小,是否阻塞有关系吗? 最佳答案 如果不在您的环境中并排对

redis - Redis什么时候从AOF持久化中读取key?

我可能是错的,但仍然问这个问题。;-)所以我打算使用redis作为持久化存储(PrimaryStorage)。我启用了AOF。我知道Redis会在服务器启动期间加载这些数据。假设我有10GB数据和5GB内存,如果我尝试搜索未加载到RAM中的key,它会检查AOF并通过卸载任何未使用的key将该数据加载到RAM中吗? 最佳答案 Redis中的内存不能小于数据大小。在您的示例中,Redis会在启动期间耗尽内存。您可以在这里找到更多答案:http://redis.io/topics/faq 关

redis - 如何持久化 Redis 中的所有键

使用redis-cli或redsmin是否可以在特定数据库中保留所有key?到目前为止,我看到的是PERSIST一个键。 最佳答案 Redis不可能同时保留所有键。但是您可以使用lua脚本实现它,方法是遍历数据库中的所有键并将它们一一保存。您可以使用scan来代替使用keys命令(这是阻塞的)来实现相同的目的。 关于redis-如何持久化Redis中的所有键,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.c

redis - 在 Redis 哈希键中搜索

我在Redis中有几个类似的键,例如:/文章/200/article/200?something/article/200/something_else我想检索所有具有像“/article/200%”这样的键的散列。这在Redis中可行吗?如果是,怎么做? 最佳答案 如果您指的是散列中的值或条目。那就不可能了。hsethash/article/2001hsethash/article/200?something2hsethashsomethingelse3无法检索此散列中的条目。您需要在您的应用程序逻辑中处理它们,或者您必须为此编写一

amazon-web-services - m4.large AWS 实例上的 Redis 性能

我们在t2.medium上进行了基准测试并获得了以下吞吐量t2.mediumSET:155545.19GET:155775.38当在m4.large上使用相同的redis配置进行基准测试时,吞吐量下降到以下水平m4.largeSET:111788.46GET:110503.34可能是什么原因? 最佳答案 T2实例永远不适合基准测试。T2实例是可突增的性能实例,可提供基准水平的CPU性能。性能和爆发能力由CPU积分决定。T2实例空闲时累积CPU积分,并在事件时使用CPU积分。请引用以下文档以了解T2实例的性能http://docs.a

redis - Cloud Foundry中如何部署和使用Redis?

我是CloudFoundry的新手。我有一些疑问-我可以在CloudFoundry中使用REDIS作为服务吗?如果可以,如何使用。为此,我们是否也需要服务代理。用于在openstackNeutron中的Cloudfoundry上部署Redis的list文件。我可以在CF中做Redis服务的HA。我也浏览过这些链接https://github.com/pivotal-cf/cf-redis-releasehttps://github.com/cloudfoundry-community/redis-boshrelease并使用专用节点和代理部署了Redis,但不确定它如何与应用程序一起工

python - Redis pubsub 导致太多文件打开错误

我有一个使用Redis和Socket.IO的服务器。如果用户连接到socket.IO,服务器将运行一个greenlet并订阅redischannel。如果用户断开连接,greenlet将取消订阅该channel。经过大量的连接和断开连接,我在redis-cli中使用'clientlist'命令,我发现取消订阅的数量是累加的,它永远不会像其他命令那样关闭。它最终会导致“太多文件打开错误”我的代码是classListenMsgThreading(Greenlet):def__init__(self,app_eui,request_sid):Greenlet.__init__(self)se

python - 使用 Redis 实现持久化栈数据结构

我正在使用redis-py和Redis列表数据类型实现堆栈数据结构。我不清楚如何处理相应列表数据类型为空的情况。默认的Redis行为似乎是一旦列表为空,相关的键就会被删除。例如,当我在Python端弹出或清除堆栈数据结构中的所有元素时,在Redis上会出现空列表情况。基本上,我的设置是我的代码中有调用Redis列表上的操作的堆栈对象。例如,当堆栈对象的客户端执行stack.pop()时,堆栈对象然后使用redis-py在Redis中的相应列表上调用BRPOP。另外,在我的设置中,堆栈对象具有key属性,这是Redis中相关列表的键。到目前为止,我已经考虑过2种可能的解决方案:永远不要完

redis - Redis 中有类似MGET 的HASH 数据结构的命令吗?

我需要一次调用一组已知的REDIS哈希键的所有数据字段。我将MGET用于字符串键,例如:MGET键[键...]从1.0.0开始可用。时间复杂度:O(N),其中N是要检索的键的数量。返回所有指定键的值。对于每个不包含字符串值或不存在的键,返回特殊值nil。因此,操作永远不会失败。HMGET只为一个键带来所有字段。我需要很多键,所有字段都需要按键。 最佳答案 没有这样的命令,redis哈希在哈希中工作,因此HMGET在一个哈希中工作并给出该哈希中的所有字段。无法一次访问多个哈希中的所有字段。但是您可以在每个哈希上使用多个HMGET并获取