如何在redis中获取保存的值并再次使用它(django)

时间:2017-01-07 10:34:38

标签: python django redis

我是redis的新手。

开发一个django项目,我想知道如何在我的views.py中的一个函数中设置redis中的值,而在另一个函数中获取它并再次使用它。

任何人都可以帮我一个实际的例子吗?

非常感谢

2 个答案:

答案 0 :(得分:0)

你想使用redis作为缓存后端吗?这很简单。首先在settings.py中安装 django-redis-cache

CACHES = {
    'default': {
        'BACKEND': 'redis_cache.RedisCache',
        'LOCATION': 'server:6379',
    },
}


from django.core.cache import cache

>>> cache.set('my_key', 'hello, world!', 30)
>>> cache.get('my_key')
'hello, world!

答案 1 :(得分:0)

如果您要查看Redis服务器而不是拥有此命令的

➜  ~ redis-cli
127.0.0.1:6379> keys *
1) "key1"
127.0.0.1:6379> get "key1"
hello
127.0.0.1:6379> 

https://redis.io/topics/rediscli

Django代码示例中的

就像这样

from django.core.cache import cache



def view_cached_books(request):
    if 'product' in cache:
        # get results from cache
        products = cache.get('product')
        return Response(products, status=status.HTTP_201_CREATED)

    else:
        products = Product.objects.all()
        results = [product.to_json() for product in products]
        # store data in cache
        cache.set(product, results, timeout=CACHE_TTL)
        return Response(results, status=status.HTTP_201_CREATED)

用于Django shell

https://stackoverflow.com/a/41520967/6839331