lives

Life And Code Are Long Journey


  • 首页

  • 分类

  • 归档

  • 标签

  • 关于

Golang 基本类型存储方式

发表于 2018-01-25 | 分类于 Golang
阅读时长

结构体

结构体数据的对象是连续内存

阅读全文 »

Golang中构建最小的docker镜像

发表于 2018-01-03 | 分类于 Golang , docker
阅读时长

dockerfile

  • 沿着时间的轨迹,Docker 镜像构建走到了今天。追求又快又小的镜像已成为了 Docker 社区 的共识。
    阅读全文 »

Golang sync 包解析

发表于 2017-12-09 | 分类于 Golang , sync , 源码
阅读时长

包的用途

主要用于在并发中(同步机制,原子操作和对象池)

原子操作 atomic.Value

使用的是汇编语言编写,在sync/atomic包中,
在sync.atomic包中,有两个函数,Value.Store()和Value.Load()用于对内存中的数据进行原子的读和写,sync中的很多操作都是采用这样的方式对数据的于原子操作

阅读全文 »

Golang sort 包源码分析

发表于 2017-12-09 | 分类于 Golang , 源码
阅读时长

1. 排序 Sort()

sort包提供了一个这样的interface,只要实现这个接口就能对包中Sort()函数的的调用

1
2
3
4
5
type Interface interface {
Len() int //切片的长度
Less(i, j int) bool //比较大小的规则
Swap(i, j int) //交换规则
}

  • 在进行排序的过程中,会自动选择排序方式(快排,插入排序,堆排序)
    阅读全文 »

Golang中Toml实现配置文件转对象

发表于 2017-12-04 | 分类于 Golang , Toml
阅读时长

配置信息转化成对象信息

当我们相对某一个固定变量进行赋值的情况,比如mysql的配置信息,redis的配置信息,这些比较固定的信息,可以通过编写配置信息来实现对信息的配置

阅读全文 »

Redis命令管理

发表于 2017-12-04 | 分类于 Redis
阅读时长

strings

关键字 用处 eg
set 设置值 set key value
get 获取值 get key
setnx key不存在是在设置值 setnx key
getset 设置并返回旧值 getset key
setex 设置key并指定生存时间 setex key seconds value
psetex 设置key值并指定生存时间(毫秒) psetex key milliseconds value
setrange 设置子字符串 setrange key offset value
getrange 获取子字符串 getrange key start end
mset 设置多个值 mset key value [key value ...]
msetnx key不存在时设置多个值 msetnx key value [key value ...]
mget 返回多个key的值 mget key [key ...]
incr 自增 incr key
incrby 增加指定值 incrby key increment
incrbyfloat 增加一个浮点值 incrbyfloat key increment
decr 自减 decr key
decrby 自减指定值 decrby key decrement
setbit 位设置 setbit key offset value
getbit 获取位 getbit key offset
bitop 位运算 bitop operation destkey key [key ...]
bitcount 高位统计 bitcount key [start] [end]
append 追加 append key value
strlen 字符串长度 strlen key
阅读全文 »

Json 文件转换 Golang对象

发表于 2017-12-04 | 分类于 Golang , Json
阅读时长

json 文件

server.json

1
2
3
4
{
"ip": "",
"port": "5001"
}

阅读全文 »

Redis设计

发表于 2017-12-04 | 分类于 Redis
阅读时长

前言

  • redis采用key-value的形式对数据进行存储;
  • redis总共分为五种存储模式,(string、hash、list、set、sort set)和一种对key的操作
  • 那么这是一种非关系型数据库,通过这五种存储模式可以实现将非关系数据库设计成关系数据库
    阅读全文 »

Golang 命名规范

发表于 2017-12-04 | 分类于 Golang
阅读时长

命名原则

  • 惯性:同一个意义在不同地方,环境应该有同样的命名
  • 短小: 不能太过长,不然读者只关注名字,而非逻辑(ps:申明位置和使用位置越远,命名应当越长)
  • 精确: 易读,易理解
    阅读全文 »
lives

lives

9 日志
8 分类
14 标签
© 2018 lives
由 Hexo 强力驱动
主题 - NexT.Muse
0%