使用Go与redis构建有趣的应用Go 和 Redis 构建有趣的程序 ⻩黄健宏 @ huangz.me 关于我 • ⻩黄健宏,⽹网名 huangz ,⼴广东清远⼈人。 • 计算机技术图书作者和译者,偶尔也写⼀一点⼩小程序⾃自娱⾃自乐。 • 精通 Go、 Python 、 Ruby 、 PHP、 C 等数⼗十种语⾔言……的 Hello World ! • 著作:《Redis 设计与实现》,《Redis 使⽤用教程》(写作中)。 Web 编程》,《Redis 实战》。 • 开源⽂文档:《Go 标准库中⽂文⽂文档》,《Redis 命令参考》,《SICP 解题集》等。 • 个⼈人⽹网站: huangz.me 。 路路线图 路路线图 ⼀一. Redis 简介 路路线图 ⼀一. Redis 简介 ⼆二. 使⽤用 Redis 构建锁 路路线图 ⼀一. Redis 简介 ⼆二. 使⽤用 Redis 构建锁 三 三. 使⽤用 Redis 构建在线⽤用户统计器器 路路线图 ⼀一. Redis 简介 ⼆二. 使⽤用 Redis 构建锁 三. 使⽤用 Redis 构建在线⽤用户统计器器 四. 使⽤用 Redis 构建⾃自动补完程序 Redis an open source, in-memory data structure store 特点 特点 • 具有多种不不同的数据结构可⽤用,其0 码力 | 176 页 | 2.34 MB | 1 年前3
联想-贺钢架构工作在国际化项目中的应用实例架构工作在国际化项目中 的应用实例 贺钢 2016-12-17 个人简介 • 深信服科技 • 腾讯 • 联想深圳中国开发实验室 前言 • 国际化项目的一些不同点导致架构工作的一些不同 • 应用实例体现这些不同点 广告 • 联想电脑管家(PC): guanjia.lenovo.com.cn 国际化项目的一些不同点 • 目标客户不同: 文化习俗, 客户需求, 用户体验… 安全性和隐私… • 地域不同: 服务器的部署, 用户的访问, 组织架构, 团队沟通… 项目实例 -- XA项目背景及需求 • 多设备协作 PC, Mobile, Pad, Cloud… • 跨设备及云智能搜索 • 语音等多种输入方式 用例示意图 用户输入支持举例 3D Camera 项目实例 -- 项目开发团队 项目 备注 项目名称 XA 支持国家 160 多语言支持 27种语言 数据中心最终方案 用户访问量对应的web架构 用户访问量 服务器架构 百万以下 单台或多台的简单架构,可以简单通过升级服务器 配置支持更多用户 百万到千万 增加Nginx(反向代理)或DNS负载均衡,redis内存 cache,数据库(Mysql)多台(数据在一个数据中心) 千万到亿 增加Web服务器内存缓存,集群,IP负载均衡,基于内 容请求分发,Mysql优化(如减少写,2/8原则),数据在 一个数据中心0 码力 | 53 页 | 2.36 MB | 1 年前3
Laravel 5.6 中文文档此外,现在可以使用日志系统的新”tap”功能很轻松地自定义已存在的日志频道。想要了解更多细节,请查看完整日志文档。 单机任务调度 注:要使用这个新特性,必须使用 memcached 或 redis 缓存驱动作为应用默认缓存驱动。此外,所有服务器必须和同一个中心缓存服务器进行通 信。 如果你的应用运行在多个服务器上,现在可以限定只在一台机器上运行调度任务。例如,假设你有一个在每周五晚上生成新报告的调度任务,如果任 配置项都可以从配置文件 config/app.php 里移除了。 configureMonologUsing 方法 如果你在使用 configureMonologUsing 方法为应用自定义 Monolog 实例,现在需要创建一个 custom 日志频道。更多关于如何创建自定义频道的 信息,可以查看完整的日志文档。 日志 Writer 类 本文档由 Laravel 学院提供 Laravel Vagrant 盒子的释义请参考 Vagrant 官方文档), 该盒子为我们提供了一个优秀的开发环境,有了它,我们不再需要在本地环境安装 PHP、Composer、Nginx、MySQL、Memcached、Redis、Node 等其它工具软件,我们也完全不用再担心误操作搞乱操作系统 —— 因为 Vagrant 盒子是一次性的,如果出现错误,可以在数分钟内销毁并重新创 建该 Vagrant 盒子! 为什么说0 码力 | 377 页 | 14.56 MB | 1 年前3
Laravel 5.1 中文文档模型工厂 Laravel 现在可以通过使用模型工厂附带一种简单的方式类创建 Eloquent 模型存根,模型工 厂允许你为 Eloquent 模型定义一系列默认属性,然后为测试或数据库填充生成模型实例。 模型工厂还可以利用强大的 PHP 扩展库 Faker 类生成随机的属性数据。 $factory->define('App\User', function ($faker) { return AuthenticatesAndRegistersUsers 的 AuthController,则需 要对新用户的验证和创建做一些代码改动: 首先,你不再需要传递 Guard 和 Register 实例到构造函数,你可以从控制器的构造器中完 全移除这些以依赖。 本文档由 Laravel 学院(LaravelAcademy.org)提供 5 然后,Laravel 5.0 中使用的 static::query()->find($id, $columns); // ... return $model; } lists 方法 lists 方法现在返回一个 Collection 实例而不是包含 Eloquent 查询结果的数组,如果你想 将 Collection 转化为数组,使用 all 方法: User::lists('id')->all(); 注意:Query Builder0 码力 | 307 页 | 3.46 MB | 1 年前3
Laravel 6.0 中文文档Laravel Vapor 的兼容,这是一个针对 Laravel 应用的自动扩容无服务器部署平台。Vapor 对在 AWS Lambda 上 管理 Laravel 应用以及与 SQS 队列、数据库、Redis 集群、网络、 CloudFront CDN 进行交互的复杂性进行了抽象。 通过 Ignition 优化异常 本文档由学院君提供 学院君致力于提供优质 Laravel 中文学习资源:https://xueyuanjun 学院君致力于提供优质 Laravel 中文学习资源:https://xueyuanjun.com 5 * * @return void */ public function handle() { Redis::throttle('key')->block(0)->allow(1)->every (5)->then(function () { info('Lock obtained...'); // 将你的任务 handle 方法从频率限制中解放出来: Redis; 本文档由学院君提供 学院君致力于提供优质 Laravel 中文学习资源:https://xueyuanjun.com 6 class RateLimited { /** * 处理队列任务0 码力 | 1442 页 | 14.66 MB | 1 年前3
Laravel 5.2 中文文档样式的视图用于登录、注册和密码重置。该命令 还会使用相应路由更新路由文件。 注意:该功能特性只能在新应用中使用,不能再应用升级过程中使用。 隐式模型绑定 隐式模型绑定使得在路由或控制器中直接注入相应模型实例更加便捷。假设你有一个路由 定义如下: 本文档由 Laravel 学院(LaravelAcademy.org)提供 Laravel 学院致力于提供优质 Laravel 中文学习资源 Laravel 5.1 中,你需要通过 Route::model 方法告诉 Laravel 注入 App\User 实例以匹 配路由定义中的 {user} 参数。 现在,在 Laravel 5.2 中,框架将会基于相应 URI 片段自动注入模型,从而允许你快速 访问需要的模型实例。 如果路由参数片段 {user} 匹配路由闭包或控制器方法中相应变量 $user,并且被类型声明 为一个 Eloquent 这一改变对之前代码没有什么影响。 集合 Eloquent 集合基类 调用 Eloquent 集合实例的 pluck, keys, zip, collapse, flatten, flip 方法现在会返回集 合基类。 保留键名 slice、chunk 和 reverse 方法现在会保留集合的键名,如果你不想这些方法保留键名,使 用集合实例的 values 方法即可。 Composer 类 Illumina0 码力 | 377 页 | 4.56 MB | 1 年前3
Laravel 5.3 中文文档...................................................................................... 455 10.6 Redis ................................................................................................. Illuminate\Database\Eloquent\Model; class Post extends Model { use Searchable; } trait 被添加到模型之后,当保存模型实例的时候其信息将会被同步到搜索索引: $order = new Order; // ... 本文档由 Laravel 学院(LaravelAcademy.org)提供 存储上传文件 注:Laracasts 上有关于该特性的免费视频教程。 在 web 应用中,最常见的任务之一就是保存用户上传文件了,比如头像、照片、文档等等。Laravel 5.3 通过在上传文件实例上使用新的 store 方法让这一工作变得简单。只需要简单调用 store 方 法并传入文件保存路径即可: 本文档由 Laravel 学院(LaravelAcademy.org)提供0 码力 | 691 页 | 9.37 MB | 1 年前3
ThinkJS 2.2 中文文档编译来 支持。 所以是时候使用 ES6 语法来开发项目了。 不要使用 constrcutor 方法 使用 ES6 里的 class 来创建类的时候,可以使用 constrcutor 方法达到类实例化的时候自动调 用。如: export default class think.base { constructor(){ ... } } 但如果不使用 ES6 里的 class,就没有 提供了 init 方法来代替 constrcutor 方法,该方法不管是在 class 下还 是动态创建类的情况下都可以做到类实例化的时候自动被调用。 export default class think.base { /** * 初始化⽅方法,类实例例化时⾃自动被调⽤用 * @return {} [] */ init(){ ... } } 注 :ThinkJS { indexAction(){ //获取 admin 模块下 user controller 的实例例 let controllerInstance = this.controller('user', 'admin'); //获取 controller 的实例例下就可以调⽤用下⾯面的⽅方法了了 let bar = controllerInstance.foo();0 码力 | 277 页 | 3.61 MB | 1 年前3
CmlPHP v2.x 开发手册
CmlPHP是基于php5.3+(v2.7开始要求php5.4+)版本开发的 MVC/HMVC/MVSC/HMVSC框架,支持composer、分布式数据库、分 布式缓存(异常自动容灾),支持文件、memcache、redis、apc等缓存, 支持多种url模式、URL路由[RESTful],支持多项目集成、第三方扩 展、支持插件。 CmlPHP在Model层做了缓存集成,开发者无需关注数据缓存的问题, 按照相 ]); $loader->setPsr4('', Cml::getApplicationDir('apps_path')); //注入服务并运行应用 //要注意的是这边只是做绑定并没有真正实例化 Cml::runApp(function() { //必须绑定。系统错误及异常捕获机制 如果想使用第三方的服务 只要简单封装一个服务。实现 \Cml\Interfaces\ErrorOrException接口即可 \Cml\Service\Environment::class); //必须绑定。系统日志驱动 内置\Cml\Logger\File::class |\Cml\Logger\Redis::class两种. //自定义服务实现\Cml\Interfaces\Logger接口即可或继承 \Cml\Logger\Base再按需重载 Cml::getConta0 码力 | 245 页 | 720.67 KB | 1 年前3
CmlPHP v2.x 开发手册
CmlPHP是基于php5.3+(v2.7开始要求php5.4+)版本开发的MVC/HMVC/MVSC/HMVSC框架,支持 composer、分布式数据库、分布式缓存(异常自动容灾),支持文件、memcache、redis、apc等缓存, 支持多种url模式、URL路由[RESTful],支持多项目集成、第三方扩展、支持插件。 CmlPHP在Model层做了缓存集成,开发者无需关注数据缓存的问题,按照相应的API调用即可获得最大 //运行时日志文件目录 ]); $loader->setPsr4('', Cml::getApplicationDir('apps_path')); //注入服务并运行应用 //要注意的是这边只是做绑定并没有真正实例化 Cml::runApp(function() { //必须绑定。系统错误及异常捕获机制 如果想使用第三方的服务只要简单封装一个服务。实现\Cml\Inte rfaces\ErrorOrException接口即可 ', \Cml\Service\Environment::class ); //必须绑定。系统日志驱动 内置\Cml\Logger\File::class|\Cml\Logger\Redis::class两种. //自定义服务实现\Cml\Interfaces\Logger接口即可或继承\Cml\Logger\Base再按需重载 Cml::getContain0 码力 | 143 页 | 1.54 MB | 1 年前3
共 749 条
- 1
- 2
- 3
- 4
- 5
- 6
- 75













