草庐IT

django-caching

全部标签

asp.net - 在负载平衡环境中覆盖 HttpContext.Current.Cache。

我们有一个环境,供应商将应用程序部署到其上的多个前端。它大量使用ASP.Net存储(session、应用程序和缓存)。问题是这个环境的负载很快就会让IIS无法承受它试图保存在内存中的数据量。我们尝试采用的解决方案是覆盖存储机制并实现我们自己的。(具体是一个Redis服务器来管理存储)我们已经实现了他们的缓存接口(interface),并在web.config中设置了Microsoft.Web.Redis.RedisSessionStateProvider来管理session。那部分一切正常。问题是供应商应用程序内部的缓存并不总是使用他们提供的接口(interface)。反编译dll并检

带有redis的Django auth

我尝试将我的Django应用程序插入到微服务架构中。身份验证由springboot编写的组件完成。它以以下格式将session存储在redis中:"spring:session:sessions:71f06a1d-b169-4bb9-a4c8-013bb82742ee"是否可以配置一些现有的django库(配置命名空间)以在身份验证系统中使用构建?我想避免从头开始写下整个事情。欢迎任何帮助。 最佳答案 我解决了这个问题-这种功能提供了自定义身份验证http://www.django-rest-framework.org/api-gu

django - celery 重复我的任务三次

我在celery中调用了一些任务一次,但celery执行了所有这些任务3次。这是celery的预期行为还是配置错误?我正在使用Django1.5.11、Celery3.1.23和Redis3.0.6。 最佳答案 您可能有一些离群的工作人员正在执行任务,或者celeryflower实例可能会尝试“帮助”恢复未确认的消息。使用ps-Af|确保只有一个celery实例正在运行grepcelerybeat并通过访问http://localhost:5555检查是否有正在运行的花实例(它通常在该端口上运行)。

caching - Redis缓存结构

我们计划在API端使用Redis作为缓存。我根据要求有特定的场景保存用户完成的session我们已经根据ClientID维护了一个UserId列表——表示该用户可以访问该客户端**session对象具有以下属性/属性session编号session类型session日期客户编号session状态**由于我们在从SQLDB获取session列表时遇到性能问题,我们计划使用Redis对其进行缓存。我们将根据以下属性/属性从缓存中过滤session1>session类型(电话、个人访问)2>session状态(打开、关闭)...等到目前为止,我们已经完成了以下方法为每个过滤器维护一个键1>s

caching - 将大数据写入 Redis 缓存

关闭。这个问题是notreproducibleorwascausedbytypos.它目前不接受答案。这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topic在这里,这个问题的解决方式不太可能帮助future的读者。关闭8天前。Improvethisquestion我必须替换遗留系统上的缓存。我决定尝试使用Redis。我在Windows2012机器上运行了用于x64的Redisv3.0.504。它是与Web应用程序相同的服务器。这些是机器上运行的仅有的2个应用程序。服务器有20GB的内存。应用程序尝试一次将3900个对象写入缓存。旧缓存能够处理此问题,但现在失

caching - 有没有其他方法可以在 Redis 中使用过期的 ttl 积极地逐出 key

我的用例:我正在使用Redis来存储大量数据。在1秒内,我在30分钟内用ttl在redis中写了大约24k个key,我希望在ttl过期后删除这些key。当前redis驱逐key的实现是它在任务中工作,每个任务选择20个随secret钥并查看key是否已过期ttl然后删除这些key并且redis建议使用不超过100个这样的任务。因此,如果我选择hz(任务数量为100),那么Redis将能够以max@2000键/秒的速度清除tke键,这对我来说太少了,因为我的插入率非常高,最终导致内存不足异常吃饱了。我的替代方案是:1/命中随机键,或者我们知道已经过期的键,这将在Redis中启动删除2/当

django - 为每个用户检索最相关输出的最佳解决方案(在 Django 或任何后端中)?

我正在寻找最佳解决方案来为每个用户检索最相关的输出。我将模型简化为UserProfile和Groups,如下所示-ModelName:UserProfilestyles:['a','b','f','r']我想根据用户的样式对组进行排序和检索。所以在这种情况下,“第1组”由于样式“a”、“f”、“第2组”由于样式“a”而得1分。我们无法将分数存储在我们的主数据库中,因为每个用户都有不同的风格。我的方法1:每次用户请求时对所有数据库进行排名(我概念性地编写了代码)View.pyforgroupinGroup.objects.all():#storethescoretothenewfield

caching - docker run long time make 缓存连接超时

我用docker-compose构建了我的应用程序,一个容器是使用mariadb镜像的数据库,一个运行Laravel的php(我为我的应用程序安装了php-memcached或php-redis扩展),一个基于redisdocker镜像构建的缓存容器。起初一切顺利,但运行2或3天后,我得到了php异常:连接超时[tcp://redis:6379];我在主机服务器上监控cpu和内存和网络使用我自己安装的zabbix,但是我得到了这些错误:监控CPU监控内存我将缓存容器更改为memcached,然后2或3天发生了同样的事情,我发现解决这个问题的唯一方法是重新启动系统,它可以再运行2或3天,

caching - 使用 NHibernate.Caches.Redis 时,锁的超时值应该是多少?

我们目前正在使用NHibernate.Caches.Redis在获取数据时使用多个锁的项目。我们注意到默认的锁超时时间是30秒,这看起来等待获取锁的时间很长,而且当锁失败时我们在日志中得到很多超时,所以我们正在考虑降低该值...但我们不确定是什么。是否有人能够就什么是好的超时值以及降低锁定超时值对性能的潜在副作用提供一些建议? 最佳答案 所以上面的问题可能有点宽泛,但在这里张贴以供后代使用,希望它能在将来帮助某人。我们在NHibernate缓存中获得了很多锁定,这导致了后续超时-因此出现了上述问题。为了解决这个问题,我们禁用了Que

caching - Redis 的优雅失效

我正在尝试找到像Varnish这样的产品,它可以让我有可能处理缓存上的grafecul失效,这基本上是保证客户端缓存时间的能力,因为当键值无效或过期时,不是客户端自己从源头获取内容需要等待很长时间,但总是由缓存系统单独为客户端做这件事,同时客户端只获取缓存内容,即使它是无效的。场景示例:缓存值有效的场景。1)客户端->缓存有效->缓存对象缓存值无效的场景。1)客户端->缓存无效->旧缓存对象2)缓存系统->origin->替换旧的缓存对象有什么方法可以确保客户端使用Redis的缓存响应时间来执行此预取? 最佳答案 您需要处理使键值无