草庐IT

Py_Initialize

全部标签

python - gevent + redis-py : SystemError: NULL result without error in PyObject_Call

我正在使用带有redish的redis-py和gevent,我有自己的类EventBot,它继承自Greenlet。在此类的__init__方法中,我正在使用初始化与redis的连接self._redis=Client(serializer=serialization.JSON(),**self.REDIS_CONFIG)有时当我尝试运行脚本时,它会抛出SystemError:NULLresultwithouterrorinPyObject_Call但有时它会正常启动。我还尝试将redis初始化移动到_run()方法,但没有帮助。这是我使用的简化类:fromgeventimportmo

python - redis.py - 按特定字段对哈希进行排序

我正在使用redis.py并想知道如何按给定字段进行排序。我已阅读文档并尝试使用谷歌搜索示例,但没有找到任何内容。在这种情况下,我有一个时间列表和相应的温度。对于给定的“时间”范围,比如1000到1100,我将返回给定时间范围内temp'的最高值,并将其分配给变量hightemp。同样,我也想用lowtemp来做。是否可以在redis中执行此操作,而不是像我使用python排序那样将所有内容再次转换回内存importredisred=redis.Redis()red.hmset('temperature',{'time':900,'temp':123})red.hmset('tempe

redis - 从 redis-py 执行自定义 redis 命令

我用了DynamicRedis为redis添加额外的功能。我能够使用redis-cli中的命令。是否可以使用redis-py在python脚本中使用这些新命令? 最佳答案 找到答案了。只需扩展其中一个客户端类(StrictRedis或Redis)并使用它们的execute_command方法。redis_client=redis.StrictRedis(host,port,db)data=redis_client.execute_command('customrediscommand')https://github.com/andy

python - redis-py 模块是否在集群模式下与 Redis 一起工作?

我正在尝试使用redis-py在集群模式下使用redis,但我无法让它工作。我看到了redis-py-cluster有效,但我更喜欢redis-py,因为我一直在使用它,它是recommendedclient. 最佳答案 redis-py不支持集群模式。集群具有完全不同的体系结构来服务于水平可扩展性的目的。HA(高可用性)在其设计中并不是优先考虑的。因此,您不能将一个客户端用于另一个客户端。redis-py-cluster似乎有持续的开发/支持,它基于redis.py。您链接的客户端页面不适用于redis集群。redis集群页面上提

python - 在 Redis-Py 中查看管道中的命令?

有没有一种简单的方法可以只查看在Redis-Py的管道中排队的命令?我在文档中找不到任何关于此的内容,但这似乎是一个微不足道且有用的命令。我只想做类似的事情:p=redis_conn.pipeline()p.hset('blah','meh',1)p.hset('foo','bar',1)printp.view()#returns["hset('blah','meh',1)","hset('foo','bar',1)"] 最佳答案 您可以检查command_stack:In[17]:p.hset('blah','meh',1)Out

python - Redis py : when to use connection pool?

pool=redis.ConnectionPool(host='10.0.0.1',port=6379,db=0)r=redis.Redis(connection_pool=pool)对比r=redis.Redis(host='10.0.0.1',port=6379,db=0)这两个工作正常。使用连接池背后的想法是什么?你会在什么时候使用它? 最佳答案 来自redis-pydocs:Behindthescenes,redis-pyusesaconnectionpooltomanageconnectionstoaRedisserver

python - 如何在redis-py中设置等待管道响应的redis超时?

在下面的代码中,管道超时是否为2秒?client=redis.StrictRedis(host=host,port=port,db=0,socket_timeout=2)pipe=client.pipeline(transaction=False)fornameinnamelist:key="%s-%s-%s-%s"%(key_sub1,key_sub2,name,key_sub3)pipe.smembers(key)pipe.execute()在redis中,集合“key”中有很多成员。它总是返回如下代码最后的错误:errorErrorwhilereadingfromsocket:(

ruby-on-rails - `initialize':postgres 方案不接受注册表部分:postgres:@(或错误的主机名?)(URI::InvalidURIError)与 Docker

我正在使用带有PostgresDBDocker容器的Rails。当我运行railsc:时,我似乎遇到了错误/usr/local/rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/uri/generic.rb:204:in`initialize':theschemepostgresdoesnotacceptregistrypart:postgres:@(orbadhostname?)(URI::InvalidURIError)这不起作用有什么原因吗?我的database.yml是:production:$DATABASE_URL已定义有趣的是,它直到昨天才工作了几

ruby-on-rails - `initialize':postgres 方案不接受注册表部分:postgres:@(或错误的主机名?)(URI::InvalidURIError)与 Docker

我正在使用带有PostgresDBDocker容器的Rails。当我运行railsc:时,我似乎遇到了错误/usr/local/rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/uri/generic.rb:204:in`initialize':theschemepostgresdoesnotacceptregistrypart:postgres:@(orbadhostname?)(URI::InvalidURIError)这不起作用有什么原因吗?我的database.yml是:production:$DATABASE_URL已定义有趣的是,它直到昨天才工作了几

c# - Initialize() vs Constructor() 方法,正确使用对象创建

我们都知道Constructor和用户定义的Initialize()方法之间的根本区别。我的问题集中在对象创建的最佳设计实践上。我们可以将所有Initialize()代码放入Constructor()中,反之亦然(将所有预热代码移至Initialize方法并调用此方法来自构造函数)。目前,在设计一个新类时,我在constructor()中创建了所有新实例,并将任何其他预热代码移至Initialize()方法中。您认为最佳的权衡点是什么? 最佳答案 我认为应该考虑多个方面:构造函数应该以一种处于可用状态的方式初始化对象。构造函数应该只