python中的django可以很好的操作数据库中的内容,有时我们需要连接远程数据库,并且使用redis加速项目的加载,连接的方法如下:
1.连接远程数据库和连接本机数据库的方法一致,在setting.py中更改配置文件
DATAbaseS = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'test', # 连接数据库的名字
'USER': 'root', # 连接数据库的用户民
'PASSWORD': '!QAZ2wsx',
'HOST': 'localhost', # 连接的数据库的地址
'PORT': '3306',
}
}
如果需要确定是否连接成功,也可以将数据配置到以下代码尝试
import mysql.connector
from mysql.connector import Error
def create_connection(host_name, user_name, user_password):
connection = None
try:
#创建连接
connection = mysql.connector.connect(
host="所连接的数据库位置",
user="用户名",
passwd="密码"
)
print("连接成功")
except Error as e:
print(f"错误 '{e}' 发生")
return connection
connection = create_connection("localhost", "root", "")
就可以查看是否连接成功了
2.连接redis可以用以下代码先查看redis是否成功连接
import redis
r = redis.Redis(host='127.0.0.1', password="!QAZ2wsx", port=6379)
r.set('foo', 'Bar')
print(r.get('foo'))
如果不清楚host和port中的数据可以在cmd中输入redis-cli查看
连接成功之后连接django,同样是在setting中设置,配置信息如下
# Redis缓存
CACHES = {
"default": {
"BACKEND": "django_redis.cache.RedisCache",
"LOCATION": "redis://127.0.0.1:6379/0", # redis服务器ip,数据库index
'TIMEOUT': 60, # 数据过期时间(分钟)
"OPTIONS": {
"CLIENT_CLASS": "django_redis.client.DefaultClient",
"SOCKET_CONNECT_TIMEOUT": 15, # 连接超时时间(秒)
"SOCKET_TIMEOUT": 5, # r/w 执行操作超时时间(秒)
'PASSWORD': '', # 密码
},
}
}
这样就实现了redis连接



