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的原理吧. 官方文档上是 ...
随机推荐
- 轻量级的Web框架——Nancy
最近想找一个简单的.Net下的轻量级Web框架,作为用户的本地的一个WebServer,实现同浏览器程序的一些简单交互,并调用本地服务,实现类似浏览器插件的功能.它有如下几点要求: 简单,能快速账务, ...
- 13、spark-submit
- apache配置伪静态Rewrite
1: 修改apache的httpd.conf文件 找到这一行 #LoadModule rewrite_module modules/mod_rewrite.so 改成 LoadModule rewri ...
- Net Core 的配置模式以及热重载配置
https://www.cnblogs.com/Leo_wl/p/8527535.html https://blog.csdn.net/ma_jiang/article/details/5350198 ...
- iframe中video没有全屏按钮
HTML内联框架元素 <iframe> iframe默认不允许全屏, 如果内嵌了video那么控制条上将不显示全屏按钮, 通过添加allowfullscreen属性可以开启全屏功能. mo ...
- Pilosa文档翻译(三)示例
目录 简单说明 Introduction 数据模型 Data Model 映射Mapping 0列(colums) --> 1字段(field) 1列(colums) --> 1字段(fi ...
- MySQL优化器 --- index_merge
[背景] 对于关系数据库中的一张表,通常来说数据页面的总大小要比较某一个索引占用的页面要大的多(上面说的索引是不包涵主键索引的); 更进一步我们可以推导出,如果我们通过读索引就能解决问题,那么它相比读 ...
- iOS Message from debugger: Terminated due to memory issue ~解决方法
一.概念: /** 1.内存管理概念 2.查看其他技术分享结论 3.产生崩溃原因 4.解决方法以及思路 CSND: https://blog.csdn.net/shihuboke/article/de ...
- Android中的指纹识别
转载请注明出处:http://blog.csdn.net/wl9739/article/details/52444671 评论中非常多朋友反映,依据我给出的方案,拿不到指纹信息这个问题,在这里统一说明 ...
- css实现高度或者宽度不固定的div元素垂直左右居中
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...