如何在Django应用程序中使用redis命令进行列表和集合

rag*_*dra 4 python django redis

我正在开发一个Django应用程序,我想将redis用于缓存目的.

我看到像django-redis和django-redis-cache这样的软件包很少与Django集成,可以用来访问redis.

但是,使用这些软件包,您只能使用"获取"和"设置"命令.

如何使用其他redis命令列表,集合,排序集如rpush,lrange,zadd?

我们可以将它与上面提到的包(django-redis,django-redis-cache)一起使用,还是需要使用redis-py客户端?

谢谢你的帮助!

Aar*_*ron 7

您可以在django-redis中访问原始redis连接.我相信这允许你通过redis-py执行命令,它在引擎盖下使用.


Muh*_*eed 6

使用原始客户端访问:

\n\n
\n

在某些情况下,您的应用程序需要访问原始 Redis 客户端才能使用 Django 缓存接口公开的一些高级功能。

\n
\n\n
>>> from django_redis import get_redis_connection\n>>> con = get_redis_connection("default")\n
Run Code Online (Sandbox Code Playgroud)\n\n

现在我们可以执行 Redis 数据类型的原始命令:

\n\n
    \n
  1. 列表
  2. \n
  3. \n
  4. 排序集
  5. \n
  6. 哈希等
  7. \n
\n\n

例子 :

\n\n

将数据存储到 Redis 哈希中。

\n\n
\n

Redis 哈希是字符串字段和字符串值之间的映射,因此它们是表示对象的完美数据类型。

\n
\n\n
# Create framework dictionary in python\n>>> frameworks = {\'python\':\'Django\',\'php\':\'Laravel\',\'java\':\'Spring\'} \n#Store them into redis hash.  \n>>> con.hmset(\'frameworks\',frameworks)\nTrue #successfully stored \n\n# retrieved number of items \n>>> con.hlen(\'frameworks\') \n3\n\n#Get all values\n>>> con.hvals(\'frameworks\')\n[b\'Django\', b\'Laravel\', b\'Spring\']\n
Run Code Online (Sandbox Code Playgroud)\n\n

上面示例中使用的哈希命令:

\n\n
    \n
  1. hmset : 设置多个项目

  2. \n
  3. hlen :获取项目数

  4. \n
  5. hvals :返回所有值

  6. \n
\n