首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
Go语言实战 - revel框架教程之缓存和Job
】的更多相关文章
Go语言实战 - revel框架教程之缓存和Job
所有的网站应该都会有一个非常简单的需求,首页一秒之内打开. 满足的方式主要有两种: 页面静态化,效果最好,对服务器基本没负担,只要带宽足够就好了.我知道一个PV过亿的站点就是全站静态(以前新浪也是),据说早就想换成动态的,可以省很多事儿,但至今仍然没有成功. 数据内存化,把常用的数据全都放到内存,定期分批写入硬盘.相比静态页面,这个方法对CPU的要求稍高.好处就不细说了,动态网页的好处相比大家都耳熟能详了. 山坡网选择了第二种方案,数据内存化. revel本身提供了cache支持,可通过配置切换…
Go语言实战 - revel框架教程之权限控制
一个站点上面最基本都会有三种用户角色,未登录用户.已登录用户和管理员.这一次我们就来看看在revel框架下如何进行权限控制. 因为revel是MVC结构的,每一个url其实都会映射到一个具体的Controller.Action上面,所以权限控制落到实处就是对Action的访问进行控制. 那么思路是如下: 1. 有一个方法能够判定当前是什么角色. 2. 有一地方定义了每一个Action的访问权限要求. 3. 有一个方法能够在调用所有Action之前被调用,而且能够判定是否还要继续调用Action.…
Go语言实战 - revel框架教程之用户注册
用户注册.登录和注销是任何一个网站都必然会有的功能,可以说,这是重新造轮子做多的领域,每个做网站的人应该都做过很多遍.见微知著,从这么一个小功能其实就可以看到所使用的web框架中的大部分东西. 今天就让我们用这个基本模块来看看revel吧. 先整理一下我们选用的技术框架和组件: web框架:revel 数据库:mongodb 数据库driver:mgo 工欲善其事,必先利其器,这里着重推荐一个mongodb的GUI客户端 - mongovue,可以说,如果没有这个工具,在开发的过程中我们会痛苦许…
revel框架教程之缓存和Job
Go语言实战 - revel框架教程之缓存和Job 所有的网站应该都会有一个非常简单的需求,首页一秒之内打开. 满足的方式主要有两种: 页面静态化,效果最好,对服务器基本没负担,只要带宽足够就好了.我知道一个PV过亿的站点就是全站静态(以前新浪也是),据说早就想换成动态的,可以省很多事儿,但至今仍然没有成功. 数据内存化,把常用的数据全都放到内存,定期分批写入硬盘.相比静态页面,这个方法对CPU的要求稍高.好处就不细说了,动态网页的好处相比大家都耳熟能详了. 山坡网选择了第二种方案,数据内存…
Go语言实战 - revel框架教程之MongDB的最佳搭档revmgo
由于revel框架本身对于model层的编写没有提供任何指导,所以在设计这部分的时候就有些犹豫,反复斟酌到底怎样才算是最佳实践. 我在做山坡网的时候刚开始也纠结了一下,拿不准mongodb的session的创建和销毁应该在什么地方处理.直到有一天看到了revmgo的作者在与revel的作者讨论(具体内容在这里),就去研究了下revmgo,之后立即就用它替换了我自己的实现. 先说下用法吧. 1. 在app.conf添加mongodb的连接字符串. revmgo.dial = mongodb://u…
Go语言实战 - revel框架教程之CSRF(跨站请求伪造)保护
CSRF是什么?请看这篇博文“浅谈CSRF攻击方式”,说的非常清楚. 现在做网站敢不防CSRF的我猜只有两种情况,一是没什么人访问,二是局域网应用.山坡网之前属于第一种情况,哈哈,所以至今没什么问题.但昨天突然发现了有人开始扫url,估计用的是个工具,很整齐的扫了一大片知名框架和数据库管理工具的管理员登陆url.还好我们没有使用其中的任何一个,侥幸没事.但这也给我敲响了警钟,互联网上那是危机重重啊. 于是第一步就开始加上CSRF保护,搞起来还是花费了些时间,暗叹这种事情还是刚开始就做最容易. 好…
revel框架教程之权限控制
Go语言实战 - revel框架教程之权限控制 一个站点上面最基本都会有三种用户角色,未登录用户.已登录用户和管理员.这一次我们就来看看在revel框架下如何进行权限控制. 因为revel是MVC结构的,每一个url其实都会映射到一个具体的Controller.Action上面,所以权限控制落到实处就是对Action的访问进行控制. 那么思路是如下: 1. 有一个方法能够判定当前是什么角色. 2. 有一地方定义了每一个Action的访问权限要求. 3. 有一个方法能够在调用所有Action之前被…
go语言实战教程:实战项目资源导入和项目框架搭建
从本节内容开始,我们将利用我们所学习的Iris框架的相关知识,进行实战项目开发. 实战项目框架搭建 我们的实战项目是使用Iris框架开发一个关于本地服务平台的后台管理平台.平台中可以管理用户.商品.商铺等相关的信息,平台可以实时展示用户.商品等相关监测数据的变化情况. 通过此项目,旨在能够将Iris框架相关的知识得到巩固和练习. 如下是项目框架搭建后的说明: config:项目配置文件及读取配置文件的相关功能 controller:控制器目录.项目各个模块的控制器及业务逻辑处理的所在目录 dat…
配置 FIS 来适配 go revel 框架以优化前端缓存策略
对于前端工程师来说,浏览器缓存优化是个永远的话题.前几天看了知乎上的一个问答:<大公司里怎样开发和部署前端代码?>,深以为然,所以决心使用 FIS 来优化自身的前端文件. 我们的项目使用了 go 语言的 revel 做 web 框架.这个框架的目录结构混合了前后端的文件,没法做到前后端开发的完全分离.所以我们要做的第一步,就是分离前后端的文件. 分离前后端 因为已经决定使用 FIS 来优化前端,所以特别利用了 FIS 的编译文件这个功能.既然没法做到完全的前后端分离,至少也要分离一部分吧. 首…
Windows7下安装golang语言开发环境和revel框架
1.下载先去下载32位或64 golang window 安装包 并安装下载地址:https://www.golangtc.com/download 本人更改了安装地址为 D:\GO\Go 2. golang的环境配置Go 语言需要配置 GOROOT 和 Path 两个环境变量:GOROOT 和 GOPATH. 2.1 根目录GoROOT和Path的配置 如果第一步安装使用的是默认安装目录 C:\Go\,那么安装程序就已经将 GOROOT 和 Path 两个环境变量设置好了,无须…