0%

前言

项目目录结构如何组织,一般语言都是没有规定。但Go语言这方面做了规定,这样可以保持一致性

环境变量

  1. GOROOT就是Go被安装的地方
  2. GOPATH指向你的工作区,这就是如何让Go找到你的代码
  3. 其他环境变量,一般情况不需要设置,要查看所有Go环境变量,请输入:go env
    1
    2
    3
    4
    5
    6
    7
    8
    9
    C:\Users\tungS>go env
    set GOARCH=amd64
    set GOBIN=
    set GOCACHE=C:\Users\tungS\AppData\Local\go-build
    set GOEXE=.exe
    set GOFLAGS=
    set GOHOSTARCH=amd64
    set GOHOSTOS=windows
    .....
    阅读全文 »

前言

IDE有事半功倍效果,所以选择一个,但IDE对原理理解有影响

选择

据说JetBrains家的IDE比较好用所以直接选择GoLand

前言

之前就看资料说SimpleDateFormat是线程不安全的,正好框架里面有自己的DataUtils类,正好优化并学习一下

环境

jdk1.7

阅读全文 »

前言

在使用java开发用maven来管理工程常常会从远程仓库下载jar包,由于网络原因有时候会下载很慢;还有公司内部产品开发的代码又不能上传到中央仓库;故需要搭建一个maven的私有仓库。选择Sonatype Nexus来作为maven的私有仓库,Sonatype Nexus还可以做docker、npm等等的私有仓库。

环境

  • Redhat 7.5 操作系统
  • Sonatype Nexus Repository Manager 3.15
  • jdk1.8
阅读全文 »

前言

本文用来记录通过OpenSSL生成自定义证书并在浏览器设置可信任

准备

  • Linux CentOS7 系统
  • nginx 1.12.2
  • Windows 10
  • IE 11
  • chrome 71
阅读全文 »

前言

本文用来记录nginx加keepalived实现高可用,避免出现单点故障。

准备

  • Linux CentOS7 系统
  • nginx 1.12.2
  • keepalived 1.3.5
阅读全文 »

收集了info命令的中文解释

信息 中文解释
Server 服务信息
redis_version Redis 服务器版本
redis_git_sha1 Git SHA1
redis_git_dirty Git dirty flag
redis_build_id redis build id
redis_mode 运行模式,单机或者集群
os Redis 服务器的宿主操作系统
arch_bits 架构(32 或 64 位)
multiplexing_api Redis 所使用的事件处理机制
process_id 服务器进程的 PID
run_id Redis 服务器的随机标识符(用于 Sentinel 和集群)
tcp_port TCP/IP 监听端口
uptime_in_seconds 自 Redis 服务器启动以来,经过的秒数
uptime_in_days 自 Redis 服务器启动以来,经过的天数
hz redis内部调度(进行关闭timeout的客户端,删除过期key等等)频率,程序规定serverCron每秒运行10次
lru_clock 以分钟为单位进行自增的时钟,用于 LRU 管理
executable
config_file 配置文件路径
Clients 客户端信息
connected_clients 已连接客户端的数量(不包括通过从属服务器连接的客户端)
client_longest_output_list 当前连接的客户端当中,最长的输出列表
client_biggest_input_buf 当前连接的客户端当中,最大输入缓存
blocked_clients 正在等待阻塞命令(BLPOP、BRPOP、BRPOPLPUSH)的客户端的数量
Memory 内存信息
used_memory 由 Redis 分配器分配的内存总量,以字节(byte)为单位
used_memory_human 以人类可读的格式返回 Redis 分配的内存总量
used_memory_rss 从操作系统的角度,返回 Redis 已分配的内存总量(俗称常驻集大小)。这个值和 top 、 ps 等命令的输出一致。
used_memory_rss_human 以人类可读的格式返回Redis已分配的内存总量
used_memory_peak Redis 的内存消耗峰值(以字节为单位)
used_memory_peak_human 以人类可读的格式返回 Redis 的内存消耗峰值
total_system_memory
total_system_memory_human
used_memory_lua lua引擎所使用的内存大小(以字节为单位)
used_memory_lua_human
maxmemory
maxmemory_human
maxmemory_policy 内存淘汰机制,当内存使用达到阈值的时候,所有引起申请内存的命令会报错
mem_fragmentation_ratio used_memory_rss和used_memory之间的比率,小于1表示使用了swap,大于1表示碎片比较多
mem_allocator 在编译时指定的redis所使用的内存分配器。可以是libc、jemalloc或者tcmalloc
Persistence 持久化信息
loading 服务器是否正在载入持久化文件
rdb_changes_since_last_save 离最近一次成功生成rdb文件,写入命令的个数,即有多少个写入命令没有持久化
rdb_bgsave_in_progress 服务器是否正在创建rdb文件
rdb_last_save_time 离最近一次成功创建rdb文件的时间戳。当前时间戳 - rdb_last_save_time=多少秒未成功生成rdb文件
rdb_last_bgsave_status 最近一次rdb持久化是否成功
rdb_last_bgsave_time_sec 最近一次成功生成rdb文件耗时秒数
rdb_current_bgsave_time_sec 如果服务器正在创建rdb文件,那么这个域记录的就是当前的创建操作已经耗费的秒数
aof_enabled 是否开启了aof
aof_rewrite_in_progress 标识aof的rewrite操作是否在进行中
aof_rewrite_scheduled rewrite任务计划,当客户端发送bgrewriteaof指令,如果当前rewrite子进程正在执行,那么将客户端请求的bgrewriteaof变为计划任务,待aof子进程结束后执行rewrite
aof_last_rewrite_time_sec 最近一次aof rewrite耗费的时长
aof_current_rewrite_time_sec 如果rewrite操作正在进行,则记录所使用的时间,单位秒
aof_last_bgrewrite_status 上次bgrewriteaof操作的状态
aof_last_write_status 上次aof写入状态
Stats 一般统计信息
total_connections_received 新创建连接个数,如果新创建连接过多,过度地创建和销毁连接对性能有影响,说明短连接严重或连接池使用有问题,需调研代码的连接设置
total_commands_processed redis处理的命令数
instantaneous_ops_per_sec redis当前的qps,redis内部较实时的每秒执行的命令数
total_net_input_bytes redis网络入口流量字节数
total_net_output_bytes redis网络出口流量字节数
instantaneous_input_kbps redis网络入口kps
instantaneous_output_kbps redis网络出口kps
rejected_connections 拒绝的连接个数,redis连接个数达到maxclients限制,拒绝新连接的个数
sync_full 主从完全同步成功次数
sync_partial_ok 主从部分同步成功次数
sync_partial_err 主从部分同步失败次数
expired_keys 运行以来过期的key的数量
evicted_keys 运行以来剔除(超过了maxmemory后)的key的数量
keyspace_hits 命中次数
keyspace_misses 没命中次数
pubsub_channels 当前使用中的频道数量
pubsub_patterns 当前使用的模式的数量
latest_fork_usec 最近一次fork操作阻塞redis进程的耗时数,单位微秒
migrate_cached_sockets
Replication 主从信息
role 实例的角色,是master or slave
connected_slaves 连接的slave实例个数
master_repl_offset 主从同步偏移量,此值如果和上面的offset相同说明主从一致没延迟
repl_backlog_active 复制积压缓冲区是否开启
repl_backlog_size 复制积压缓冲大小
repl_backlog_first_byte_offset 复制缓冲区里偏移量的大小
repl_backlog_histlen 此值等于 master_repl_offset-repl_backlog_first_byte_offset,该值不会超过repl_backlog_size的大小
CPU CPU信息
used_cpu_sys 将所有redis主进程在核心态所占用的CPU时求和累计起来
used_cpu_user 将所有redis主进程在用户态所占用的CPU时求和累计起来
used_cpu_sys_children 将后台进程在核心态所占用的CPU时求和累计起来
used_cpu_user_children 将后台进程在用户态所占用的CPU时求和累计起来
Cluster 集群信息
cluster_enabled 实例是否启用集群模式
Keyspace 数据库相关的统计信息
db0 db0的key的数量,以及带有生存期的key的数,平均存活时间

参考资料

  1. stackoverflow
  2. LUA脚本