自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(102)

原创 Mongodb 开启权限验证以及创建用户,关闭数据库

运行启动时指定–authmongod --auth --port 27017配置文件指定security: authorization: enabled 指定配置文件并后台运行/usr/bin/mongod --quiet --auth --config /etc/mongod.conf -fork创建用户指定读写权限db.createUser({user:"user_1",pwd:"20201016",roles:[{role:"readWrite",db:"sdk.

2020-10-16 01:08:06 9

原创 golang使用flag包获取传入的参数

package mainimport ( "flag" "fmt" )func main() { var name string var age int64 flag.StringVar(&name,"name","default","log in user") flag.Int64Var(&age, "age", 16, "help message for flagname") // 必须有这一行 flag.Parse() fmt.Println( ref

2020-09-27 18:29:06 20

原创 一个说明golang map传引用的例子

array打印结果可知item传的是引用func main() { item := make( map[string]interface{} ) var array [3]interface{} item["key"] = 2 var i int item["key"] = 1 array[i] = item for i=0; i<3; i++ { item["key"] = i+10 fmt.Println(item) array[i] = item } fmt.P

2020-09-24 20:28:57 19

原创 Golang Mongo BulkWrite upsert 用法示例

文档地址: https://godoc.org/go.mongodb.org/mongo-driver/mongo#example-Collection-BulkWritepackage mainimport ( "fmt" "go.mongodb.org/mongo-driver/bson" "go.mongodb.org/mongo-driver/mongo/options" "context" "time")import mog "go.mongodb.org/mongo-dr

2020-09-24 18:33:03 44

原创 ubuntu 安装PHP以及扩展

安装PHP7.2sudo apt-get updatesudo apt-get install php7.2sudo apt-get install php7.2-dev安装php7.2-dev 后即可以使用pecl 安装扩展,比如: pecl install mongodb

2020-09-08 10:19:14 29

原创 PHP扩展连接 MongoDB版本问题

由于PHP安装的扩展版本不对应问题导致连接不稳定查看PHP扩展版本php -r "phpinfo();" | grep -i mongomongodbMongoDB support => enabledMongoDB extension version => 1.2.6MongoDB extension stability => stablelibmongoc bundled version => 1.5.5libmongoc SSL => enabledli

2020-09-04 11:32:25 45

原创 阿里云通过nginx-ingress-controller 暴露服务

本文有参考:阿里云的文档:https://developer.aliyun.com/article/721569。然后参考对照实际部署的k8s集群。梳理部署在k8s的不同应用如何在公网被不同的域名访问到。理解:实际nginx-ingress-controller 就是在k8s集群中创建一个具有类似nginx作用的应用。此nginx 应用负责接受所有来自不同域名的请求,然后根据不同ingress 定义的规则转发到对应的service。看一下nginx-ingress serviceapiV.

2020-07-28 17:33:22 331

原创 安装Lumen,使用MongoDB的坑

公司使用docker后一直使用做好的镜像。很久没有自己搭建环境。发现有些坑又忘记了。写文章记录一下。一、安装Lumen使用composer 安装Lumen指定版本。因为PHP版本是7.0 所以Lumen使用5.4的版本,如果Lumen版本与PHP 版本不匹配,运行起来很可能会有报错。composer create-project laravel/lumen service --prefer-dist "5.4.7" 复制.env.example 成 .env。并且修改CACHE_D.

2020-05-15 16:20:07 184

原创 MongoDB 开启慢日志

ps -ef | grep mongo发现是指定了配置文件启动root 13170 1 1 14:32 ? 00:00:17 /usr/bin/mongod --quiet --config /etc/mongod.conf -fork在 /etc/mongod.conf 中加入如下配置: operationProfiling: s...

2020-02-15 14:54:04 375

原创 k8s节点异常无法调度

ssh 连接到对应节点systemctl restart dockersystemctl restart kubelet

2019-11-26 18:43:46 800

转载 macos修改WIFI共享功能的默认网段

macos用有线网络开启网络共享。电脑终端无法连接到内网IP上的服务。需要修改WIFI共享功能的默认网段。转载自:http://www.voidcn.com/article/p-qjalcvsp-bdp.htmlMac OS X系统下修改wifi共享的默认网段Mac OS X的wifi共享功能(internet sharing)的默认网段是192.168.2.0/24,这个网段比较常用,容...

2019-11-07 09:59:53 579

转载 PHP MongoDB获取数据库中的所有collection

可用的方式:<?php$database = (new MongoDB\Client)->test;$cursor = $database->command(['listCollections' => 1]);foreach ($cursor as $collection) { echo $collection['name'], "\n";}如...

2019-10-14 18:33:14 427

原创 macos 升级版本后git等命令无法使用

macos 升级版本后git等命令无法使用报错提示:xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun运行:xcode-select --in...

2019-10-09 10:10:43 700

原创 MongoDB 运行js 脚本

官方文档:https://docs.mongodb.com/manual/tutorial/write-scripts-for-the-mongo-shell/只列出在终端运行的js,其他模式类似。next()获取当前单元。下面的脚本将total_number, remain_number 替换。var cursor=db.time_mission.find(); while(cursor...

2019-09-10 15:25:10 928

原创 Golang 实现sha256 加密

先贴出PHP代码:$string = "1234";$key = "abcd";$signature = hash_hmac('sha256', $string, $key);然后是Golang:package mainimport ( "crypto/hmac" "crypto/sha256" "encoding/hex" "fmt")func main() { ...

2019-08-18 16:50:18 970

原创 curl 命令的用法

curl命令还是很有用的,暂时记录几种用到的。测试一个url是否有效# -I输出返回信息curl -I https://blog.csdn.net/xiojing825下载文件# -o 指定保存的文件名相对路径,-O 指定保存的绝对路径, --progress-bar 显示进度, -# 也是显示进度curl 'www.baidu.com' -o test.html...

2019-06-27 16:03:51 191

转载 将mongodb 中的_id 转化为时间戳

php手册上给出的示例:https://www.php.net/manual/zh/mongoid.gettimestamp.php, 其他语言也可以参考做转化。<?php$id = new \MongoDB\BSON\ObjectID('42cf58a2e1c5ede216cb7f05');$timestamp = hexdec(substr($id, 0, 8));实际上这样用...

2019-06-18 14:29:40 3370

原创 Git常用命令

删除远程分支git push origin --delete <branchName>删除本地分支git branch -d <branchName>

2019-05-23 14:37:09 43

原创 Linux命令笔记

记录一些命令的常见用法。序号命令描述1sort以行尾单位对内容排序1. sort命令描述-n数字排序默认升序,注意不是按照数值大小-r降序-k指定排序的列 默认列分隔符为空格-t指定分隔符# 先查看一下我们示例操作文件的内容jing:~ jing$ cat test.txtjaime 2019-05-0...

2019-05-16 10:21:32 40

原创 Mac 连接WIFI设置不同IP

场景: 公司用固定IP上网,而家里上网需要自动获取。如何设置?点击左下角“+”号,添加一个“家WIFI”,点击上面的位置,添加一个位置为“家”。默认都是自动获取IP。选中“Wi-Fi”,添加一个位置为“公司”。再点击“高级" -> TCP/IP -> 使用DHCP(手动设置)->填写ip。这样选择”Wi-Fi“ 就可以固定ip;”家WiFi“连接自动获取ip。...

2019-05-13 10:12:04 2170

原创 Mysql查看表占用的磁盘大小

mysql每个表的信息存在数据库为information_schema, 表名为TABLES的表中。所以我们查询某些字段就可以知道表占用的磁盘空间大小。查看单个表占用的磁盘空间:use information_schema;SELECT (`DATA_LENGTH`+ `INDEX_LENGTH`)/1024/1024 as `table_data_size` from `TAB...

2019-05-10 17:25:24 2850

原创 PHP 加权抽奖程序

有时会需要做类似抽奖的需求。以下是一个根据权重的抽奖程序。 public function weightRand() { $result = 0; // key 为奖励的等级,value为中奖概。比如1等奖的中奖概率为30%,2等奖的概率为20%。 // 当然实际运用时概率可能并不是这样 $rate = [ ...

2019-04-18 10:52:34 342

原创 PHP 实现 RSA 加解密

有时候为了数据安全,我们可以给数据进行RSA加密。私钥与公钥对可以通过工具生成。私钥为加密方保存用来加密数据,公钥给到解密方用来解密。示例中的秘钥对使用的2048强度。 public function rsa() { // 公钥,解密用 $publicKey = '-----BEGIN PUBLIC KEY-----MIIBIjANBgkqh...

2019-04-17 18:40:42 1374

原创 vim快捷键

有时候不太记得vim快捷键。记录一下。操作键位删除/剪切一行dd删除/剪切当前开始的n行ndd删除/剪切光标之后的一个字/单词部分dw删除/剪切光标之后的n个字/单词部分ndw删除/剪切当前字符x删除/剪切光标到行尾d$删除/剪切光标到行首d0删除/剪切光标右边n个字符d[n]l删除/剪切光标左边n个字符d...

2019-04-16 15:06:00 242

原创 用 Redis SETNX 防止数据重复保存

场景:后端保存数据的时候经常有重复保存的情况,假设两个同样数据的POST请求被前端发送了两次,后端如果不做验证那就会被保存两次。而那种先查询数据库,如果数据库中没有这条数据再进行保存。显然是行不通的。一、假设向数据库MongoDB新建一个游戏。游戏存储的json如下:{ "name":"吃鸡战场", "type":"手游"}而name字段加type字段 可构成一个游戏唯...

2019-04-10 11:59:05 1714

原创 phpstorm快捷键

操作MacWindows选中单词⌥ + ↑Ctrl + w

2019-04-07 15:01:13 47

原创 MongoDB查询不存在字段将导致全表扫描

1.我们知道当查询mysql 表时,若字段不存在,将导致报错。mysql> select `field_a` from `user`;ERROR 1054 (42S22): Unknown column 'field_a' in 'field list'2.但是查询mongodb collection时,若字段不存在将怎样?注意到了吗?!“stage” : “COLLSCAN” !...

2019-03-28 16:38:42 1347

原创 php7.0连接mongodb4.0 当扩展版本过低时报错Another cursor derived from this client is in exhaust.

// \$dbCollection 为简写,连接数据库 $maxIds = $dbCollection->find( [], [ 'sort' => [ '_id' => -1 ], 'skip' => ...

2019-03-21 16:09:26 114

原创 PHP7 MongoDB bulkWrite 批量写入或者更新

批量操作mongodb 数据。优点是只用请求一次数据库。$bulk = new MongoDB\Driver\BulkWrite(['ordered' => true]);$bulk->update(['name' => 'mike'], ['$set' => ['age' => 11]]);$bulk->update( [ 'name' => ...

2019-03-15 19:57:46 1842

翻译 Helm Error: incompatible versions client[v2.12.0] server[v2.9.0]

使用k8s时,mac客户端Helm版本与服务端版本不一致。道理上讲可以升级服务端Helm版本,未尝试。略过。安装客户端版本为v2.9.1 解决问题:1.进入:https://github.com/Homebrew/homebrew-core/search?p=2&q=kubernetes-helm&type=Commits2.点击指定版本号的提交哈希序号。3.进入指定版...

2019-03-12 12:19:40 2447

原创 使用docker rmi 批量删除docker镜像释放磁盘

使用k8s集群后,节点上会存储docker镜像。而镜像占用磁盘。或者本地开发后时需要批量删除docker镜像。先使用docker system df 查看磁盘占用情况:TYPE TOTAL ACTIVE SIZE RECLAIMABLEImages ...

2019-02-27 16:15:15 6621

转载 MongoDB $push 的用法

官方文档地址:https://docs.mongodb.com/manual/reference/operator/update/push/1.最简单的push一个元素不讲2. $push 时使用$each student 原文档为:{ "_id" : ObjectId("5c6e02f6f578476166df7db3"), "name" : "jane" }执行:db.stud...

2019-02-21 10:13:09 2937

原创 MongoDB db.collection.count()返回结果总数错误

问题描述使用命令:db.collection.find()发现返回数据只有8条。而使用db.collection.count() 返回数据总数有112条。stackoverflow 搜索的结果:https://stackoverflow.com/questions/30715466/incorrect-count-returned-by-mongodb-wiredtiger使用命令...

2019-02-13 14:15:40 6112

原创 Ubuntu16.04 删除journalctl 日志

阿里云ECS提示磁盘空间不够,觉得是日志占用了磁盘空间。所以到/var/log下看看。cd /var/logdu --max-depth=1 -h发现journal 文件夹占用磁盘较多。但是cd journal 文件夹内查看又没有多少文件。848M ./nginx4.1G ./journal原来journal 日志的查看删除需要用指定的命令。如下部分命令摘自 https://ww...

2019-02-12 15:13:42 3386

原创 Linux磁盘占用过大,查看磁盘

1.查看磁盘占用大的文件夹df -ah部分输出如下:Filesystem Size Used Avail Use% Mounted onsysfs 0 0 0 - /sysproc 0 0 0 - /procudev 983M 0 983M ...

2018-12-26 10:20:44 2095

原创 mongodb中find $ne null 与$exists的区别

test collection 数据为:db.test.find(){ "_id" : ObjectId("5be29949f1acad52e4c10b98"), "name" : "jane", &qu

2018-11-07 16:01:44 3519

原创 Linux查看连接数

查看连接netstat -nat|grep ESTABLISHED统计连接数,使用wc即可,-l 统计行数netstat -nat | grep ESTABLISHED | wc -l

2018-11-07 14:33:03 11595

原创 nginx 配置add_header 'Access-Control-Allow-Origin' '*' 依然存在跨域问题

1.问题描述:前端域名A 在POST请求后端域名为B 的一个接口时候请求成功时不存在跨域问题,请求失败时浏览器提示跨域。解决:当请求成功时,HTTP CODE 为200。而请求失败时HTTP CODE 为400, 此时add_header ‘Access-Control-Allow-Origin’ ‘*’ 配置无效!设置无论HTTP CODE 为何值时都生效需要加 always 。ngin...

2018-10-25 17:44:19 45405 6

原创 单点登录原理说明

一系统后台下有多个子web后台系统,如:A、B、C,通过登录同一登录SSO(全称Single Sign On)实现所有子系统的。重点是要根据浏览器cookie的特点。流程说明:当未登录A时,在浏览器中进入A系统界面 www.a.com A系统发现未登录,定向到SSO登录界面 www.sso.com/login?application=A ,输入账号、密码。SSO系统验证正确后设置一个cook...

2018-09-21 17:45:43 207

原创 设置ssh key登录

设置ssh key 的好处:1.安全2.方便,ssh和scp不需要输入密码操作目的:A主机能通过ssh key登录B主机。操作步骤:生成ssh key,A 上以 a_user 用户运行:ssh-keygen -t rsa那么在A主机a_user用户的 ~/.ssh 下有id_ras 和 id_rsa.pub 文件。2.将A主机中 id_rsa.pub的字符追加写到 B主...

2018-09-18 14:20:31 3175

空空如也

空空如也

空空如也
提示
确定要删除当前文章?
取消 删除