- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我正在使用 django-redis 后端和 django.core.cache.cache 模块。django 缓存模块似乎不支持推送到列表和操作某些数据结构的正确功能。
用于更新 django 缓存模块中列表的隐含实现:
my_list = cache.get('my_list')
my_list.append('my value')
cache.set('my_list', my_list)
这种方法效率不高,因为整个列表都被加载到应用程序服务器的内存中。
Redis 支持 LPUSH/RPUSH 命令来动态更新列表。但是,看起来这些方法在 django 缓存模块中不可用。
官方的python redis客户端好像实现了这些方法。django 有什么理由不提供这个实现吗?我是出于好奇才问的。可能我错过了一些细节?
最佳答案
它确实支持原始客户端和命令访问,因为您必须访问原始客户端而不是使用 django 缓存。
https://github.com/jazzband/django-redis#raw-client-access
In some situations your application requires access to a raw Redis client to use some advanced features that aren't exposed by the Django cache interface. To avoid storing another setting for creating a raw connection, django-redis exposes functions with which you can obtain a raw client reusing the cache connection string: get_redis_connection(alias).
代码示例:
>>> from django_redis import get_redis_connection
>>> con = get_redis_connection("default")
>>> con
<redis.client.StrictRedis object at 0x2dc4510>
>>> con.lpush('mylist',1)
关于python - Django redis LPUSH/RPUSH,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41365660/
所以我尝试使用 rpush 来使用这个 gem 来推送我的移动应用程序的通知:https://github.com/rpush/rpush .我正在使用 sinatra 框架。但是我一直收到这个错误,
我有数百万行要推送到 Redis 列表中。现在,我使用 rpush 和一个唯一值一行一行地发送给他们。 我在文档中看到我们可以发送多个值。 这样更快吗? 我可以在一次 rpush 中发送多少项? 目的
我需要在redis中随时迭代ring,我有这个Lua脚本: local result = redis.call('lrange','test',0,5) redis.call('ltrim','tes
我目前正在为 Rails 4 中的现有应用程序开发一个API 现有应用程序和 API 共享同一个数据库,但作为两个独立的独立工作应用。 API 的目的是可用于响应来自 Android 应用程序的请求。
我正在按照 rpush 的安装说明进行操作gem 和我完成了迁移,然后下一条指令说要写: app = Rpush::Gcm::App.new app.name = "android_app" app.
我对 ruby on rails 完全陌生,当我在寻找用于发送推送通知的 gem 时,我想到了 rpush。 我安装了 gems 并做好了所有准备,但我似乎找不到复制粘贴这些代码或如何发送推送的位
我正在使用 django-redis 后端和 django.core.cache.cache 模块。django 缓存模块似乎不支持推送到列表和操作某些数据结构的正确功能。 用于更新 django 缓
Redis 支持 rpush 中的多个值,如果我正常放置,它会很好地工作。但它不能动态工作。下面是我在 php 中尝试过的。 $ids= array(1587,1588,1589,1590); $al
我们想 RPUSH/LPUSH 一个空列表的键。 这是出于一致性原因:当使用 LRANGE 读取键而不是列表是否为空时,其余代码的行为相同。 为什么如果一个键有一个空列表它被删除是一个问题? 因为我们
我的应用程序架构很灵活,因为我可以使用队列或堆栈。使用 LPUSH 是否有性能优势?或 RPUSH ? 最佳答案 还有一个if在RPUSH流量,但可以忽略不计。两者是一样的。 运行几次redis-be
我已经将我的 Rails 应用设置为与 rpush 一起使用。它在使用 rpush start 的本地开发中运行良好。但现在我想使用 capistrano-2.15.5 将它部署到我的 EC2 服务器
背景:一个 Rails 应用程序,在 Heroku 上使用 Postgres 数据库。使用 UIWebView 使其在 iOS 中成为“原生”。当尝试包含推送通知时,有诸如 APNS 之类的 gem。
我正在尝试在 Ruby on Rails 上使用 Rpush gem 通过 GCM 发送一些通知。 虽然我遇到了一些 503 Bad Gateway 错误,但它工作得很好,谷歌建议重试这些错误,但我不
我只想使用 'llen "someKey"' 返回值(列表计数)在一次交易中添加 'rpush' 值。 var count = llen "keys" rpush "keys" count 我如何使用
redis.io 上关于 RPUSH 和 LPUSH 的文档不清楚这些操作在推送多个项目时是否仍然是 O(1) 和事务性的。例如,如果两个客户端对具有多个项目的同一个列表执行 RPUSH,他们的项目是
我正在尝试将一个条目推送到 Redis 的列表中,并且还想在每次有新条目进入时更新列表的 TTL。我可以通过简单地调用 EXPIRE“my-list”ttl 来做到这一点雷迪斯。由于我的应用程序正在接
我正在尝试使用 Rpush Gem 在我的应用程序中实现推送通知。到目前为止,这是我尝试过的。 if @push_notification.present? else ap
我想使用 JWT key 发送推送通知 我搜索了实现 JWT token 标准的库:https://jwt.io/ 所以我找到了 ruby-jwt gem:https://github.com/j
我正在开发一个 Android 应用程序,我需要为它实现一个 GCM 服务。服务器在 Ruby on Rails 4 上运行,它使用 gem rpush(我无法更改 gem,因为其他人已经使用它来实现
我是一名优秀的程序员,十分优秀!