前言
-
准备做一个web视频聊天,这两天学习了django channels实现websocket,之后再学习webrtc。
-
看了些django channels的博客教程搭建简单的聊天室,只能说走了不少弯路,因为我看的两个人的都不全,一个缺少必要的模块,一个还使用母版,我只是想熟悉下流程啊,用的着这么复杂吗?
-
这才跟着官网文档走了一遍,早跟着官网就好了。
-
于是,就来到了channels文档一笔带过的redis服务,现在总算是摸清楚Windows下的redis服务与django如何结合。
下载Windows的redis数据库
这篇文章真的足够详细了。
redis下载教程for Windows
关于redis服务的启动关闭
总结如下:
教程上说在 redis.windows-service.conf 文件的
#requirepass foobared ,下面加一行
requirepass 123456 , 的确可以设置密码。
重启才会读取配置文件,才能生效
今后开启redis服务用 redis-server --service-start
今后关闭redis服务用 redis-server --service-stop
(在文件所在目录按shift+右键开启powershell输入命令)
不用了就关掉吧,我也不知道一直开启好不好。
记住密码一定要和配置文件里一样。
django配置redis
因为文档使用的是默认配置,还有更通用的形式。
django-channels channel_layer redis配置
首先在settings.py里连接redis
CACHES = {
'default': {
'BACKEND': 'django_redis.cache.RedisCache',
# redis默认是6379端口,第0的数据库,这里我们选择第5个数据库,123456是密码
'LOCATION': 'redis://:123456@127.0.0.1:6379/5',
'OPTIONS': {
'CLIENT_CLASS': 'django_redis.client.DefaultClient',
}
}
}
然后按照第三种设过密码的方法配置CHANNEL_LAYERS
CHANNEL_LAYERS = {
"default": {
"BACKEND": "channels_redis.core.RedisChannelLayer",
"CONFIG": {
"hosts": ["redis://:123456@127.0.0.1:6379/5"],
"symmetric_encryption_keys": [SECRET_KEY],
},
},
}
django channels正常工作。