Redis 分布式锁

分布式锁分布式应用进行逻辑处理时,经常会遇到并发问题。比如要修改用户的状态,分三步:读出用户的状态,在内存里进行修改,改完了存回redis。如果这样的操作同时进行就会出现并发问题,因为读取和保存这2个操作不是原子操作。(原子操作:不会被线程调度机制打断的操作,这种操作一旦开始,就一直运行到结束,中间不会有任何contextswitch线程切换。)

继续阅读 »

Redis 持久化

Redis持久化Redis虽然是一种内存型数据库,一旦服务器进程退出,数据库的数据就会丢失,为了解决这个问题,redis提供了两种持久化的方案,将内存中的数据保存到硬盘中,避免数据的丢失。Redis的持久化有两种机制,第一种是快照(rdb),第二种是AOF日志。快照是全量备份,AOF日志是连续的增量备份。

继续阅读 »

Redis基础知识

Redis基础(万丈高楼平地起)Redis安装docker安装dockerpullredis//拉取redis镜像dockerrun--namemyredis-d-p6379:6379redis//运行redis容器dockerexec-itmyredis[...]

继续阅读 »

linux 权限管理 chown

每天一个linux命令-chownLinux/Unix是多人多工操作系统,所有文件皆有拥有者,利用chown可以将文件的拥有者改为指定的用户或组。用户可以是用户名或者用户ID,组可以是组名可以组ID,文件是以空格分开的要求改变权限的文件列表,支持通配符。chown[-cfhvR][--help][--version]us[...]

继续阅读 »

linux awk 介绍

每天一个linux命令-awkawknetstat-an|head-n30>netstat.txt//保存30条网络端口占用情况awk'{print$1,$4}'netstat.txt//打印第1列和第4列,$0查看所有列awk'{printf"%-8s%-8s%-8s%-[...]

继续阅读 »

Go学习之flag包

Go学习之flag包(Thewaytogo)生命不止,继续gogogo!!!今天学习了一下golang中的flagpackage,如果你在golang中用到了命令行参数,那么你就必须要了解一些flag包的相关知识。Packageflag作用:Packageflag[...]

继续阅读 »

Git 命令

git介绍git是我们现在用的最多的代码管理工具,本文章主要介绍作者自己在工作中使用git的一些操作总结。Workspace:工作区,也就是我们的日常开发的代码存放的地方Index/Stage:暂存区,gitadd操作之后就会到暂存区Repository:仓库区(或本地仓库),commit之后存放的位置Remote:[...]

继续阅读 »

go test 测试你的代码

gotest测试你的代码在实际开发中,不仅要开发功能,更重要的是确保这些功能稳定可靠,并且拥有一个不错的性能,要确保这些就要对代码进行测试,开发人员通常会进行单元测试和性能测试。不同的语言通常都有自己的测试包/模块,Go语言也一样,在Go中可以通过testing包对代码进行单元和性能测试,下面就来详细介绍。如何进行单元测试如何进行压力测试、性能测试

继续阅读 »