【问题标题】:How can I test if my redis cache is working?如何测试我的 redis 缓存是否正常工作?
【发布时间】:2011-12-01 22:34:59
【问题描述】:

我已经安装了 django-redis-cache 和 redis-py。我遵循了 Django 的缓存文档。据我所知,下面的设置就是我所需要的。但是我如何判断它是否正常工作??

settings.py

    CACHES = {
        'default': {
            'BACKEND': 'redis_cache.RedisCache',
            'LOCATION': '<host>:<port>',
            'OPTIONS': {
                'DB': mydb,
                'PASSWORD': 'mydbspasswd',
                'PARSER_CLASS': 'redis.connection.HiredisParser'
            },
        },
    }

...

    MIDDLEWARE_CLASSES = (
        'django.middleware.cache.UpdateCacheMiddleware',
         ...[the rest of my middleware]...
        'django.middleware.cache.FetchFromCacheMiddleware',
    )

    CACHE_MIDDLEWARE_ALIAS = 'default'
    CACHE_MIDDLEWARE_SECONDS = (60 * 60)
    CACHE_MIDDLEWARE_KEY_PREFIX = ''

【问题讨论】:

  • 你在问什么,你不能通过测试找到它?
  • 如何测试并判断它是否有效?我是个缓存新手!
  • 我刚刚更改了我的问题的措辞。我想这确实使它成为一个不同的问题,但它更好地阐明了我需要解决的问题!
  • 是的,您的问题现在更有意义了。我对 Redis 了解不多,但我会测试设置和使用 Redis 的速度,然后再不使用 Redis。这应该会告诉您使用它可以提高多少速度。
  • 实际上快速搜索让我:code.djangoproject.com/wiki/ProfilingDjango

标签: django caching redis


【解决方案1】:

还没有使用 Django,但是我在开发过程中检查某些组件是否实际写入 redis 的默认方法:

首先,我刷新存储在 redis 中的所有键以删除旧的缓存条目(切勿在生产中这样做,因为这会从 redis 中删除所有数据):

> redis-cli FLUSHALL

然后在我的应用中激活缓存,看看redis做了什么:

> redis-cli MONITOR

您应该进入一个交互式会话,您可以在其中看到发送到 redis 的每个命令。

重新加载您的页面,在您的终端上您应该会看到一些 SET* 操作存储缓存数据。

再次重新加载,如果您的缓存有效,您应该会看到一些 GET* 操作正在检索缓存的数据。

注意:通过这种方法,您可以检查您的缓存是否被实际使用。你看不到的是你的缓存是否有助于加速你的应用程序。为此,您必须按照 cmets 中的建议进行性能测试。

【讨论】:

  • 酷@Max。听起来很完美。会检查出来。确认后我一定会回来检查的!
【解决方案2】:

您可以安装 django-debug-toolbar 并查看启用缓存时查询数量是否减少。尽管我不认为这是对所提出问题的最佳解决方案,但我仍然认为您希望这样做,因为您可以使用此设置轻松查明代价高昂的查询,然后向它们添加适当的缓存。

【讨论】:

    【解决方案3】:

    Redis 的使用一直专注于降低数据库的整体查询负载。

    这个系统喜欢独立工作,没有任何冲突;)

    如果你可以在以下位置看到它的活动,我建议不要担心它的操作,也不要更改它的配置:

    > redis-cli MONITOR
    

    还有一些关于你的代码的元素。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-20
      • 2014-01-11
      • 2014-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-27
      • 1970-01-01
      相关资源
      最近更新 更多