项目开发git操作
基本流程
开发前,拉一次远程仓库 工作区进行开发 将开发结果提交到本地版本库 -git status查看没有被处理的事件 拉取远程仓库(每一次要提交远程仓库前必须先拉) 如果出现冲突,线下沟通(协商重新开发冲突文件),要重新3,4步 没有冲突,提交数据到远程仓库
协同开发
1.所有人在一个分支上进行开发---通常开发分支为dev 2.遵循git开发流程:先提交本地版本库,再拉取服务器代码,最后提交代码 提交到本地版本库:git commit -m '提交的注释信息' 拉取远程仓库代码:git full 源名 分支名 提交到远程仓库:git push 源名 分支名
冲突解决
1)打开冲突文件 2)定位到冲突位置: >>>>>冲突开始 自身代码 ==== 冲突代码 <<<<<<版本号 3)删除冲突提示信息:>>>>>冲突开始、====、<<<<<<版本号 4)线下沟通整合自身代码与冲突代码,形成最终代码结果 5)重新提交本地版本库,再拉取服务器代码,最后提交代码 """
合并分支
eg:将dev分支内容合并到prod分支上 1)切换到prod分支:git checkout prod 2)合并dev分支:git merge dev
redis数据库
为什么要学习redis
1、redis是内存 no-sql 数据库,相比mysql等硬盘数据库效率高 2、在内存值配置数据库使用,而不直接使用内存,redis存储的数据是可以管理的 3、memcache也是内存数据库,且django默认采用的就是memcache数据库,用redis替换memcache的路由很简单,后者更强大 redis支持更多的数据类型 redis自带缓存机制,出现数据库系统崩溃数据也是可以有找回的功能 redis可以主动完成数据持久化(自带数据持久化功能) redis的数据过期时间机制也可以自身完成
redis数据类型
支持的数据类型:String、Hash、List、Set、Sorted Set String:存储其他类型不能存的所有数据 Hash:存储 key-value 形式数据,类似于字典 List:存储 一系列有序value 形式数据,列表(数组) Set:存储 一系列无序value 形式数据,集合 Sorted Set:存储 有排列标号value 形式数据,排行
Redis字符串(String)
示例
redis 127.0.0.1:6379> SET runoobkey redis OK redis 127.0.0.1:6379> GET runoobkey "redis"
字符串命令
https://www.runoob.com/redis/redis-strings.html
哈希命令(Hash)
https://www.runoob.com/redis/redis-hashes.html
列表(List)
https://www.runoob.com/redis/redis-lists.html
集合(Set)
https://www.runoob.com/redis/redis-sets.html
有序集合(sorted Set)
https://www.runoob.com/redis/redis-sorted-sets.html
Python操作Redis
下载 pip install redis 直接使用 import redis r = redis.Redis(db=数据库名)
连接池使用
import redis pool = redis.ConnectionPool(host='127.0.0.1', port=6379) r = redis.Redis(connection_pool=pool)
缓存使用:要额外安装 django-redis
# 1.将缓存存储位置配置到redis中:settings.py 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} } } } # 2.操作cache模块直接操作缓存:views.py from django.core.cache import cache # 结合配置文件实现插拔式 # 存放token,可以直接设置过期时间 cache.set('token', 'header.payload.signature', 10) # 取出token token = cache.get('token')