基本使用
普通连接
1 2 3 4 5 6
| import redis
conn = redis.Redis(host="192.168.23.166", port=6379, password="123456") conn.set("x1", "hello", ex=5) val = conn.get("x1") print(val)
|
连接池
1 2 3 4 5 6
| import redis
pool = redis.ConnectionPool(host="192.168.23.166", port=6379, password="123456", max_connections=1024) conn = redis.Redis(connection_pool=pool) print(conn.get("x1"))
|
Django全局配置
1 2 3 4 5 6 7 8 9 10 11
| 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} } } }
|
缓存级别
全栈缓存
在 settings.py 配置文件中添加:
1 2 3 4 5 6 7 8 9 10 11
| MIDDLEWARE = [ 'django.middleware.cache.UpdateCacheMiddleware', 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'django.middleware.cache.FetchFromCacheMiddleware', ]
|
UpdateCacheMiddleware 位于列表第一位,FetchFromCacheMiddleware 位于列表最末。
视图缓存
1 2 3 4 5 6
| from django.views.decorators.cache import cache_page
@cache_page(60 * 15) def index(request): return HttpResponse("ok")
|
元素缓存
1 2 3 4
| {% load cache %} {% cache 5000 缓存key %} 缓存内容 {% endcache %}
|
基本操作
1 2 3 4 5 6 7
| redis.hget redis.hgetall redis.hincrby("k2", "age", amount=num) redis.hincrbyfloat
hscan_iter("k4", count=100)
|
redis 操作对象时,只有第一层 value 支持 list、dict……