redis模块和django-redis组件

redis模块使用

基本使用

import redis
                
# 链接
conn = redis.Redis(host='10.211.55.4', port=6379,passwd='123123')
conn.set('foo', 'Bar')
print conn.get('foo')

连接池

mport redis
pool = redis.ConnectionPool(host='10.211.55.4', port=6379)
conn = redis.Redis(connection_pool=pool)
conn.set('foo', 'Bar')
print conn.get('foo')

哈希操作

import redis
 
pool = redis.ConnectionPool(host='10.211.55.4', port=6379)
conn = redis.Redis(connection_pool=pool)
            
# 设置:购物车
# 获取当前用户购物车信息
# 获取 
user_car_dict = conn.hget('luffy_car','用户ID(request.user.id))
if user_car_dict:
  user_car_dict = json.loads(user_car_list.decode('utf-8'))
  user_car_dict['课程3'] = {。。。}
else:
  user_car_dict = {
                    '课程4':{...}
                }
# 设置
conn.hset('luffy_car','用户ID(request.user.id)',json.dumps(user_car_dict))
            
            
# 删除,清空当前用户购物车信息
conn.hdel('luffy_car','用户ID(request.user.id)')
            
# 不设置超时时间
# 整体设置超时时间
# conn.expire("luffy_car",time)

连接池

        
- 连接redis
  自己连接redis时
- 用连接池
- 单例
            
            
# 不可以,需要改成单例:RedisHelper,conn单利,
class RedisHelper(object):
  def __init__(self):
    import redis
        pool = redis.ConnectionPool(host='10.211.55.4', port=6379)
        conn = redis.Redis(connection_pool=pool)
        self.conn = conn
   def set(self,name,k,v):
        self.conn.set(name,k,v)
    def delete(self,name,k):
        self.conn.hdel('foo', 'Bar')

django-redis组件

摘自 django-redis中文文档
安装 django-redis 最简单的方法就是用 pip :

pip install django-redis

作为 cache backend 使用配置
为了使用 django-redis , 你应该将你的 django cache setting 改成这样:

CACHES = {
    "default": {
        "BACKEND": "django_redis.cache.RedisCache",
        "LOCATION": "redis://127.0.0.1:6379/1",
        "OPTIONS": {
            "CLIENT_CLASS": "django_redis.client.DefaultClient",
        }
    }
}

optins可以设置配置

基本使用

from django_redis import get_redis_connection
#default是redis配置
con = get_redis_connection("default")

你可能感兴趣的:(redis模块和django-redis组件)