首页
学习
活动
专区
工具
TVP
发布

Clive的技术分享

专栏作者
44
文章
66697
阅读量
30
订阅数
Docker搭建
进入mysql目录,启动容器 docker run -p 3306:3306 --name docker-mysql -v
Clive
2019-11-04
5340
HBase介绍
一、hbase应用场景 海量数据存储,上百亿行×上百万列,关系型数据库一般最多30个列,单表五百万 准实时查询,上百亿行×上百万列情况百毫秒 上百万行数据没必要放在hbase 举例说明实际业务场景中的应用:交通GPS信息、移动电话信息、金融、电商 二、hbase的特点 容量大:hbase单表可以百亿行、百万列,数据矩阵横向和纵向亮给维度所支持的数据两级都非常具有弹性; 面向列:hbase是面向列的存储和权限控制,并支持独立检索。列式存储,其数据在表中是按照某列存储的,这样在查询只需要少数几个字段的时候,能大
Clive
2019-06-20
1.3K0
Go使用Curl推送钉钉消息
最近在用Go实现业务日志实时监控,当捕捉到error级别的日志时,想要推送钉钉消息到群里进行通知,下面代码实现了简单消息及markdown消息推送到钉钉机器人webhook的操作,供大家参考。
Clive
2019-05-31
1.2K0
搭建CI使用Laravel ORM模块
下载CI框架并解压到工作目录 配置nginx,并重启nginx -s reload server { charset utf-8; client_max_body_size 128M; listen 80; server_name ci-with-orm.com; root /Users/clive/Workspace/ci_with_orm; index index.php index.html
Clive
2019-05-31
1K0
自建Git服务器之Gogs
Gogs 是一款极易搭建的自助 Git 服务,个人感觉比Gitlab要轻量级,搭建起来更方便。
Clive
2019-05-14
2.4K0
Mongodb基础
一、简介 Mongodb是一个面向文档的数据库,不是关系型数据库,为了获得更好的扩展性。 不再有预定义模式:文档的键和值不再是固定的类型和大小。 设计采用横向扩展,面向文档的数据模型使得它很容易在多台服务器之间进行数据分割。 二、功能 CRUD 索引:支持通用二级索引,提供唯一索引、复合索引、地理空间索引及全文索引 聚合:支持聚合管道,可以通过简单的片段创建复杂的聚合 特殊的集合类型:支持存在时间有限的集合;支持固定大小的集合 文件存储:支持一种非常易用的协议,用于存储大文件和文件元数据 不支持连接和复杂的
Clive
2019-04-17
3850
Redis分布式锁
RedisLockClass.php <?php /** *在redis上实现分布式锁 */ class RedisLock { private $redisString; pri
Clive
2019-03-29
4850
高性能MySQL之架构与历史
MySQL逻辑架构 MySQL逻辑架构.png 优化与执行 MySQL会解析查询,创建内部数据结构(解析树),对齐进行优化(重写查询、决定表的读取顺序、选择合适的索引); 使用explain,可以解释
Clive
2019-03-08
4450
高并发、高可用系统设计原则
高并发原则 无状态:应用无状态,配置文件有状态 拆分:系统维度、功能维度、读写维度、AOP维度、模块维度 服务化:进程内服务->单机远程服务->集群手动注册服务->自动注册和发现服务->服务分组/隔离/路由->服务治理(限流/黑名单) 消息队列:实现服务解耦、异步处理、流量削峰/缓冲(需要注意:处理生产消息失败、消息重复接收处理、生产重试;作为大流量缓冲,牺牲强一致性,保证最终一致性;需要数据校对) 数据异构:异构数据形成闭环,数据存储到合适的存储引擎;聚合数据,使前端通过少量调用拿到所需数据;依赖系统出问
Clive
2019-03-06
8710
Go实现基于WebSocket的弹幕服务
1、数据更新频率低,则大多数请求是无效的 2、在线用户量多,则服务端的查询负载高 3、定时轮询拉取,实时性低
Clive
2018-12-06
1.7K0
Redis事务涉及的watch、multi等命令
作用: 用于监视一个(或多个) key ,如果在事务执行之前这个(或这些) key 被其他命令所改动,那么事务将被打断。 用法:
Clive
2018-12-05
1.1K0
配置supervisor管理beego应用
github项目地址:https://github.com/Supervisor/supervisor 克隆项目:git clone https://github.com/Supervisor/supervisor.git 进入项目:cd supervisor 安装执行:python setup.py install
Clive
2018-11-29
1.1K0
Golang垃圾回收gc调优
示例代码 test.go package main import ( "fmt" "time" ) func main() { a := "123" fmt.Println(a) B := make(chan int, 8) go func() { B <- 1 }() go func() { fmt.Println(<-B) }() c := make([]int, 10, 20)
Clive
2018-11-21
1.3K0
Go中的切片append
1. 将切片 b 的元素追加到切片 a 之后: a = append(a, b...) 2. 复制切片 a 的元素到新的切片 b 上: b = make([]T, len(a)) copy(b, a) 3. 删除位于索引 i 的元素: a = append(a[:i], a[i+1:]...) 4. 切除切片 a 中从索引 i 至 j 位置的元素: a = append(a[:i], a[j:]...) 5. 为切片 a 扩展 j 个元素长度: a = append(a, make([]T, j)...)
Clive
2018-10-09
1.6K0
Golang NotesGo 语言环境安装
Go 语言环境安装 下载安装包 https://golang.google.cn/dl/ CentOS安装为例: 1、下载源码包:go1.4.linux-amd64.tar.gz。 2、将下载的源码包解压至 /usr/local目录。 tar -C /usr/local -xzf go1.4.linux-amd64.tar.gz 3、配置GOPATH、GOROOT环境变量: vi /etc/profile添加以下几行在文件末尾 export GOROOT=/usr/local/go export GOPA
Clive
2018-10-09
5900
Python装饰器
Python的装饰器可以做一些类似Java SpringBoot AOP切面注解的事情。 # 无参数decorator import time def performance(f): def fn(*args, **kw): start = time.time() print 'function start' r = f(*args, **kw) print 'function finish' end = time.t
Clive
2018-09-26
4930
代码重构的方法
Add Parameter Change Bidirectional Association to Undirectional Change Reference to Value Change Undirectional Association to Bidirectional Change Value to Reference Collapse Hierarchy Consolidate Conditional Expression Consolidate Duplicate Conditional Fr
Clive
2018-06-14
6790
Mac超快速搭建Nginx、PHP、PHPStorm、XDebug环境一、安装自己需要的版本php二、安装nginx三、安装mysql、mongodb四、Xdebug配置五、配置PHPStorm的Xd
一、安装自己需要的版本php 以php7.1为例,执行:curl -s https://php-osx.liip.ch/install.sh | bash -s 7.1 (去这个链接下找自己想要下载的php版本 https://php-osx.liip.ch/) 安装结束后,/usr/local/php5目录下即刚刚install的php 此时在终端中输入php -v 显示的还是老的版本,可以将这个新的PHP路径追加到$path中。 vi ~/.profile 在文件中增加以下一行 export PATH
Clive
2018-06-14
1.7K0
修改CentOS服务器时间为北京时间
购买了VPS,CentOS系统,发现服务器时间与北京时间往往不一致,存在时差。 [clive@server workspace]$ date 2018年 05月 30日 星期三 02:02:47 UTC 可以执行tzselect命令按提示更换时区,依次选择5-Asia,9-China,1-Beijing Time。 Please identify a location so that time zone rules can be set correctly. Please select a continen
Clive
2018-06-08
4.2K0
MySQL表的数据量大小会影响索引的选择
现象 新建了一张员工表,插入了少量数据,索引中所有的字段均在where条件出现时,正确走到了idx_nap索引,但是where出现部分自左开始的索引时,却进行全表扫描,与MySQL官方所说的最左匹配原则“相悖”。 数据背景 CREATE TABLE `staffs` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(24) NOT NULL DEFAULT '' COMMENT '姓名', `age` int(11) NOT NULL
Clive
2018-06-06
3.6K0
点击加载更多
社区活动
Python精品学习库
代码在线跑,知识轻松学
热点技术征文第五期
新风口Sora来袭,普通人该如何把握机会?
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·干货材料·成员作品·最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档