复式记账法
借记和贷记解释一借贷是符号,对于资产和费用,借方是增加,贷方是减少。
对于负债,权益和收入,借方是减少,贷方是增加。
提高,借贷表示价值流向,借方表示价值去向,贷方表示价值来源。
借方资产,表示价值流向资产,资产增加了。
借方负债,表示价值流向负债,偿还了负债,负债减少了。
贷方权益,表示价值来源于权益,权益增加了。贷方收入,表示价值来源于收入,收入增加了。
因为价值的来源和去向必定是相等的,所以有借必有贷,借贷必相等。
解释二复式簿记中,“借”的含义是“借进来”,“贷”的含义是“借出去”,而这个“借进来”和“借出去”又是从对方的视角来看的。复式簿记发展的最初是以记录债权、债务为目的使用的,而且也没有那么多会计科目,基本都是使用人名(或者商店名字)来进行记录的。而这里的“借进来”“借出去”并不一定是借,这是用来表示财产的流向的。下面为了解释借方、贷方的含义,会有很多简化处理。用户A向银行存钱,在银行的账本上,在现金这个会计科目下,会记录从用户A处“借进来”200元;在用户A这个会计科目下,记录“借出去”现金200元。这里的“借进来”对应着现金会计科目下的“借方”,“借出去”对应着用户A ...
世界上最简单的会计书
世界上最简单的会计书.xmind
常见数学术语中英文对照
集合与简易逻辑
集合(集) set非负整数集 the set of all non-negative integers自然数集 the set of all natural numbers正整数集 the set of all positive integers整数集 the set of all integers有理数集 the set of all rational numbers实数集 the set of all real numbers元素 element属于 belong to不属于 not belong to有限集 finite set无 ...
Docker 命令与场景
常用命令12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091docker --helpdocker-compose --help# 后台启动当前应用docker-compose -f docker-compose.yml up -d# 暂停当前应用docker-compose -f docker-compose.yml stop# Stop and remove the deployment(network, containers, and volumes)docker-compose down -v# 关闭容器且删除容器、网络、镜像和卷docker-compose -f docker-compose.yml kill && docker-compose -f docker-com ...
进程和操作系统的诊断工具
ps123456789ps -auxps -elf# 查看进程的启动时间ps -p 3729 -o etimeps -o etime= -p "3729" sudo ps -p 3729 -o start,etimes,etimeps -o stime,time 3729ps -o pid,comm,cmd,start,etime -p 3729
pstree12pstree -lappstree --help
df1234567891011# 查看磁盘占用比例,按大小排序du -d 1 -h ./ | sort | grep G# 最完美的查询方法du -sh *# 查看磁盘使用比例/home/scandump/production> df -h# 查找最大的10个文件或者文件夹du -a | sort -n -r | head -n 10
du12# 查看磁盘用量du -ah /home/tecmint
TOP 输出12# 查看进程的子线程top -Hp 23344
系统态 cpu 时间片占比高,可能意味着系统中存在 race condition,或者有 ...
Redis 笔记之九:理解内存
Redis内存划分.xmind
内存是昂贵的资源,要合理地使用内存,首先要做到:
理解 Redis 的内存布局,以及它管理内存的方案
思考调优的方案
理解内存而能优化内存。
内存消耗内存使用统计12# 这个命令只有 redis-client 可用info memory
used_memory:1050880used_memory_human:1.00Mused_memory_rss:2162688used_memory_rss_human:2.06Mused_memory_peak:1051776used_memory_peak_human:1.00Mused_memory_peak_perc:99.91%used_memory_overhead:1037590used_memory_startup:987792used_memory_dataset:13290used_memory_dataset_perc:21.07%allocator_allocated:1005760allocator_active:2124800allocator_resident:2124800tot ...
Redis 笔记之八:复制
在分布式系统中为了解决单点问题,必须建立副本复制机制,以解决容灾和负载均衡问题。
Redis同步.xmind
配置建立复制建立复制共有三种方法:
在配置文件中使用如下的配置:slaveof localhost 6379
在启动时使用如下命令:redis-server —slaveof localhost 6379
在 redis-cli 中对服务端使用 slaveof localhost 6379
而在主节点里可以查看自己的主从信息:
1info replication
可以看到自己的角色:
role:master
而从节点则会看到:
role:slave
断开复制可以使用如下命令断掉与 master 的联系:
1slaveof no one
本节点断开和 master 的连接。
本节点自己上升为 master。
也可以使用如下命令切换 master:
1slaveof localhost 6379
如果新 master 不同于老 master,老 master 的数据会被清理掉。
安全性主节点可以设置 requirepass 参数进行验证,这时所有的客户端访问必须使用 ...
Redis 笔记之七:持久化
持久化可以避免进程退出而数据丢失。
Redis 的持久化文件主要包括两种格式,RDB 格式和 AOF 格式,这两种格式的生成机制各有不同。
Redis 在重启时优先加载 AOF 文件(因为 AOF 文件颗粒度更细),如果没有 AOF 文件可加载则加载 RDB 文件。
RDBRDB 持久化会把进程内的数据全量快照保存到硬盘上,其触发方式包括手动触发和自动触发。
手动触发12345# 阻塞当前 Redis 服务器,直到 RDB dump 完成为止。内存里数据越大,阻塞时间越久。不建议在生产环境使用,未来会被废弃。save# fork 出一个子进程。子进程负责生成 RDB 文件后,通知父进程,主进程还可以继续响应其他命令。只有 fork 的一瞬间会阻塞 Redis 进程。bgsave
bgsave 的工作流程如下:
注意,RDB 文件本身永远只有一个。子进程产生的都是临时文件,会通过原子替换的方式来维持 RDB 文件的唯一性。
Redis 内部主动生成 RDB 文件的过程都是采用 bgsave 的方式。
自动触发
在 config 里配置save m n。表示 m 内数据集存在 n 次修 ...
Redis 笔记之六:客户端
Redis 协议Redis 的客户端和服务器端使用 TCP 直连,基本的协议都是一问一答(request and response) 形式的。但它发送的请求是遵循特定的应用层协议(Redis Serialization Protocal)的。
一个请求如下:
1*3\r\n$3\r\nSET\r\n$5\r\nhello\r\nworld\r\n
*3 代表 3 个参数(SET KEY VALUE)。 $3 代表紧随其后的参数长度为 3 字节。 每一段可见字符都必须以一个CLRF(\r\n)结尾。
而返回值也有格式:
状态回复,在 RESP 中第一个字节为“+”。 错误回复,在 RESP 中第一个字节为“-”。 多条字符串回复,在 RESP 中第一个字节为“”。 整数回复,在 RESP 中第一个字节为“:”。 字符串回复,在 RESP 中第一个字节为“$”。 多条字符串回复,在 RESP 中第一个字节为“”。
Jedis 客户端使用的时候要注意配上 try-finally 块,小心连接泄漏。 也可以使用连接池,也要注意规划,连接池一样可以造成连接泄漏。
客户端管理1234567891 ...
Redis 笔记之五:Redis小功能
慢查询命令执行的典型过程
发送命令
命令排队
命令执行
返回结果
慢查询值统计 step3 的执行时间,即使没有慢查询,客户端也可能超时。
阈值参数相关的阈值参数分别为:slowlog-log-slower-than和slowlog-max-len。
1234567891011121314151617# 设置超时时间为10000微妙。设置为0则记录所有查询,设置为-1则不记录任何信息config set slowlog-log-slower-than 10000# 设置记录慢查询的记录集大小。这个集采用先进先出的淘汰逻辑config set slowlog-max-len 1000# 获取所有慢日志SLOWLOG get# 获取时间上最近的一条慢日志SLOWLOG get 1# 获取所有慢查询数量SLOWLOG len# 重置慢查询日志列表SLOWLOG reset
查询结果
1) 1) (integer) 7 2) (integer) 1570264725 3) (integer) 7 4) 1) “SLOWLOG” 2) “get” 3) “0” ...