zoukankan      html  css  js  c++  java
  • Git合并分支加redis

    项目开发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')
  • 相关阅读:
    同一页面的不同Iframe获取数据
    同一页面的两个Iframe获取数据
    关于从SVN检出项目后,项目名称还是之前修改之前或者项目名称不对问题
    <fieldset>标签
    利用js动态创建<style>
    找换硬币问题 与 0-1背包问题区别
    某种 找换硬币问题的贪心算法的正确性证明
    部分背包问题的贪心算法正确性证明
    从 活动选择问题 看动态规划和贪心算法的区别与联系
    求解两个字符串的最长公共子序列
  • 原文地址:https://www.cnblogs.com/xinfan1/p/11761578.html
Copyright © 2011-2022 走看看