django之redis和django-redis的使用
Posted xuxingping
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django之redis和django-redis的使用相关的知识,希望对你有一定的参考价值。
-redis
-非关系型内存数据(nosql:mongodb,redis),key-value的存储
-单线程单进程,qps:10w
-Memcached:多线程,支持的数据类型少:只支持字符串类型,不支持持久化
-redis:5大数据类型
k1:‘123‘, 字符串
k2:[1,2,3,4], 列表/数组
k3:1,2,3,4 集合:去重,爬虫去重
k4:name:lqz,age:12 字典/哈希表
k5:(‘lqz‘,18),(‘egon‘,33) 有序集合:游戏排行榜
-redis支持持久化:两种持久化的方案
-python操作redis
from redis import Redis
conn=Redis()
-redis连接池
#pool需要做成单例
pool=ConnectionPool(host=‘127.0.0.1‘,port=6379,max_connections=100)
conn=Redis(connection_pool=pool)
-redis之字符串操作
-set
-get
-mset
-mget
-incr
-decr
-append
-redis之hash操作
-hset
-hmset
-hget
-hmget
-hgetall
-hlen
-hdel
-hincrby
-hscan
-hscan_iter
-redis之列表操作
-lpush
-llen
-linsert
-lpop
-blpop
-自定义增量迭代
只支持一层的5大数据类型:也就是说字典的value值只能是字符串,列表的value值只能是字符串
-redis的其他操作
-delete
-exisit
-rename
-keys 模糊匹配key值
-expire
-type
-事务(重点)
conn=Redis()
pipe = conn.pipeline(transaction=True)
pipe.multi()
pipe.set(‘name‘, ‘alex‘)
pipe.set(‘role‘, ‘sb‘)
pipe.execute()
-在django中使用redis
-所有框架都能用的方式:
-先新建一个py文件,生成一个redis连接池
-在哪用,导过来,
conn=Redis(connection_pool=POOL)
conn.set(‘xxx‘,‘yyyy‘)
-django中使用:django-redis模块
-在setting中配置:
CACHES =
"default":
"BACKEND": "django_redis.cache.RedisCache",
"LOCATION": "redis://127.0.0.1:6379",
"OPTIONS":
"CLIENT_CLASS": "django_redis.client.DefaultClient",
"CONNECTION_POOL_KWARGS": "max_connections": 100
-使用
在使用的位置:
from django_redis import get_redis_connection
conn=get_redis_connection()
conn.set
以上是关于django之redis和django-redis的使用的主要内容,如果未能解决你的问题,请参考以下文章
django-redis-cache 和 django-redis 用于使用 Django 进行 redis 缓存的区别?