11.13git和redis
2018-11-13 15:46:40
git完结
redis完结,
还剩一点路飞项目!!!做完回学校!!!!
越努力,越幸运!永远不要高估自己!
关于 redis具体使用可以参考: http://www.cnblogs.com/wupeiqi/articles/5132791.html
在Django中使用redis 可以参考 : http://www.cnblogs.com/wupeiqi/articles/5246483.html
1.自定义链接redis:
utils.py
import redis POOL = redis.ConnectionPool(host='10.211.55.4', port=6379,password='luffy1234',max_connections=1000)
views.py
import redis
from django.shortcuts import render,HttpResponse
from utils.redis_pool import POOL def index(request):
conn = redis.Redis(connection_pool=POOL)
conn.hset('kkk','age',18) return HttpResponse('设置成功')
def order(request):
conn = redis.Redis(connection_pool=POOL)
conn.hget('kkk','age') return HttpResponse('获取成功')
urls.py
from django.conf.urls import url
from django.contrib import admin
from app01 import views urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^index/', views.index),
url(r'^order/', views.order),
]
2. 手动操作redis
views.py pip3 install django-redis
import redis
from django.shortcuts import render,HttpResponse
from django_redis import get_redis_connection def index(request):
conn = get_redis_connection("default")
return HttpResponse('设置成功')
def order(request):
conn = get_redis_connection("back")
return HttpResponse('获取成功')
3.全栈缓存
views.py
from django.shortcuts import render,HttpResponse
import time def index(request):
ctime = str(time.time())
return HttpResponse(ctime) def order(request):
ctime = str(time.time())
return HttpResponse(ctime)
在settings中配置
使用中间件,经过一系列的认证等操作,如果内容在缓存中存在,则使用FetchFromCacheMiddleware获取内容并返回给用户,当返回给用户之前,判断缓存中是否已经存在,如果不存在则UpdateCacheMiddleware会将缓存保存至缓存,从而实现全站缓存
MIDDLEWARE = [
'django.middleware.cache.UpdateCacheMiddleware',
# 其他中间件...
'django.middleware.cache.FetchFromCacheMiddleware',
]
代码就这些贴上笔记!具体缓存机制可以参考上面两个链接
s9day110
内容回顾:
1. git开发时,出bug如何结局? 2. git rebase的作用? 3. git 命令? 4. redis是什么?
用于操作内存的软件。
- 可以做持久化:
- AOF
- RDB
- 相当于是大字典 - 单进程单线程 5. 使用连接池
本质,维护一个已经和服务端连接成功的socket。
以后再次发送数据时,直接获取一个socket,直接send数据。 6. 路飞表结果
- 课程
- 大类
- 子类
- 学位课
- 奖学金
- 老师
- 专题课
- 课程详细
- 大纲
- 作业
- 章节
- 课时
- 价格策略
- 深科技
- 文章来源
- 文章
- 用户
- token
- 评论
- 收藏
7. 支付宝支付 - 加密方式:rsa
- 公钥私钥:
- 商户私钥
- 支付宝公钥
- 支付成功后,断电宕机
- 成功:return HttpResponse('success') 8. rest framework框架 9. 数据库页数越大速度越慢。
- 限制页数
- 记录当前页最大ID、最小ID url上的页面(加密)
- 错误答案:
- 扫描索引表
- 再去数据库表中获取数据 今日内容:
1. git
2. redis
3. 改代码 内容详细:
1. git
第四阶段: 多人协同开发
1. 允许他人操作程序
- 合作者
- 创建组织 2. 分支
- master
- dev
- xdb
- zhh
3. 规则
- 一起合并
- 合并时间:1/2 问题:
$ git push origin dev
To https://github.com/WuPeiqi/dbhot.git
! [rejected] dev -> dev (fetch first)
error: failed to push some refs to 'https://github.com/WuPeiqi/dbhot.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details. 4. 做代码review
如何做代码review?
- 创建review分支:
谁来锁代码review?
- 组长
- 带你的人 第五阶段:给别人代码贡献力量 问题: 如果你要在github上给别人代码添加功能?
fork
pull request 其他:
a. 不用反复输入用户名密码登录
Https:
https://用户名:密码@github.com/WuPeiqi/dbhot.git
git remote add origin https://用户名:密码@github.com/WuPeiqi/dbhot.git SSH:
git@github.com:WuPeiqi/dbhot.git b. .gitignore文件 c. 版本
git tag -a v1.0 -m '版本介绍' 本地创建Tag
git show v1.0 查看
git tags -n 查看本地Tag
git tag -l 'v1.4.2.*' 查看本地Tag,模糊匹配
git tag -d v1.0 删除Tag
git push origin :refs/tags/v0.2 更新远程tag
git checkout v.10 切换tag
git fetch origin tag V1.2 git push origin --tags
git pull origin --tags git clone -b v1.0 https://github.com/WuPeiqi/dbhot.git 要求:
1. 组长创建项目(把自己的路飞学城api):master/dev
2. 组长邀请组员尽力啊
3. 组员:
- 创建自己分支
- 修改代码,去提交。 组长:今天晚上发送项目地址 2. redis
特点:
a. 持久化
b. 单进程、单线程
c. 5大数据类型 redis={
k1:'', 字符串
k2:[1,2,3,4,4,2,1], 列表
k3:{1,2,3,4}, 集合
k4:{name:123,age:666}, 字典
k5:{('alex',60),('eva-j',80),('rt',70),},有序集合
}
使用字典:
- 基本操作
- 慎重使用hgetall, 优先使用 hscan_iter
- 计数器 注意事项:redis操作时,只有第一层value支持:list,dict .... 应用(django):
1. 自定义使用redis 2. 使用第三方组件
pip3 install django-redis 配置:
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}
# "PASSWORD": "密码",
}
}
} 使用:
import redis
from django.shortcuts import render,HttpResponse
from django_redis import get_redis_connection def index(request):
conn = get_redis_connection("default")
return HttpResponse('设置成功')
def order(request):
conn = get_redis_connection("back")
return HttpResponse('获取成功') 高级使用:
1. 全站缓存 2. 单视图 3. 局部页面 补充:rest framework框架访问频率限制推荐放到 redis/memecached
11.13git和redis的更多相关文章
- 11.2.3 Redis的启动停止
11.2.3 Redis的启动停止 Redis安装配置完成后,启动过程非常简单,执行命令/usr/local/redis/bin/redis-server /usr/local/redis/etc/ ...
- 11.12git部分和redis
2018-11-12 09:54:58 这星期把luffycity看完,然后周末回学校 越努力,越幸运!永远不要高估自己! 具体可以参考 戳我啊!! 一些git常用命令: 目前已使用Git的四个命令 ...
- 11 python与redis交互
安装:pip install redis 导入模块:from redis import * 创建StrictRedis 通过init创建对象,指定参数host.port与指定的服务器和端口连接. ho ...
- redis(4.0.11)编译安装
一: redis数据库安装 系统环境:linux系统(centos/redhat):Red Hat Enterprise Linux Server release 6.8 (Santiago) red ...
- redis数据类型及使用场景
Redis数据类型 String: Strings 数据结构是简单的key-value类型,value其实不仅是String,也可以是数字. 常用命令: set,get,decr,incr,mge ...
- ASP.NET Redis 开发
文件并发(日志处理)--队列--Redis+Log4Net Redis简介 Redis是一个开源的,使用C语言编写,面向“键/值”对类型数据的分布式NoSQL数据库系统,特点是高性能,持久存储,适应高 ...
- redis 数据类型详解 以及 redis适用场景场合
1. MySql+Memcached架构的问题 实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量的 ...
- redis入门笔记(1)
redis入门笔记(1) 1. Redis 简介 •Redis是一款开源的.高性能的键-值存储(key-value store).它常被称作是一款数据结构服务器(data structure serv ...
- 高性能网站架构设计之缓存篇(2)- Redis C#客户端
在上一篇中我简单的介绍了如何利用redis自带的客户端连接server并执行命令来操作它,但是如何在我们做的项目或产品中操作这个强大的内存数据库呢?首先我们来了解一下redis的原理吧. 官方文档上是 ...
随机推荐
- JSAP107
JSAP107 1.目标 2. 需要考虑的问题: 案例:图片随着鼠标飞兼容性代码 <!DOCTYPE html> <html lang="en"> < ...
- pygame 笔记-7 生命值/血条处理
通常游戏中的角色都有所谓的生命值,而且头顶上会有一个血条显示.生命值无非就是一个属性而已,很容易在Player.py类中增加,头顶上的血条其实就是绘制二个矩形,叠加在一起. 以上节的Player.py ...
- Linux之清理linux内存cache
转自:https://www.cnblogs.com/madsnotes/articles/5740495.html 频繁的文件访问会导致系统的Cache使用量大增.例如:在使用grep从很多文件中搜 ...
- 为Ubuntu新创建用户创建默认.bashrc并自动加载
首先,su – 到新创建的用户 拷贝默认的.bashrc过来 1 cp /etc/skel/.bashrc ~/ 然后创建.profile文件 1 vi ~/.profile 粘贴下面的内容 ...
- 为什么样本方差分母是n-1
https://blog.csdn.net/qq_39521554/article/details/79633207 为什么样本方差的分母是n-1?为什么它又叫做无偏估计? 至于为什么是n-1,可以看 ...
- typescript 与 js 开发 react 的区别
一.从定义文件格式方面说1.传统的开发模式可以定义js文件或者jsx文件2.利用ts开发定义的文件格式tsx二.定义state的状态来说1.传统的方式直接在构造函数中使用 constructor(){ ...
- EAS开发之挂菜单
一:以管理员账号登录 二:挂菜单 点击菜单栏"系统"——客户化菜单编辑——选中上级目录——点击 新建——命名.键入唯一编码,把ui.java类的全路径,拷贝到 ...
- ROC曲线-阈值评价标准
ROC曲线指受试者工作特征曲线 / 接收器操作特性曲线(receiver operating characteristic curve), 是反映敏感性和特异性连续变量的综合指标,是用构图法揭示敏感性 ...
- Linux下修改Mysql的用户(root)的密码的俩种方法
from:https://www.cnblogs.com/daizhuacai/archive/2013/01/17/2865138.html 修改的用户都以root为列.一.拥有原来的myql ...
- 解决:Reading table information for completion of table and column names
mysql -A不预读数据库信息(use dbname 更快)—Reading table information for completion of table and column names Y ...