docker清理磁盘占用
我的个人博客:逐步前行STEP
1、docker system df
查看docker磁盘占用
2、docker system prune
Docker 的 docker system prune 命令可以删除那些已停止的容器、dangling 镜像、未被容器引用的 network 和构建过程中的 cache
我的个人博客:逐步前行STEP
1、docker system df
查看docker磁盘占用
2、docker system prune
Docker 的 docker system prune 命令可以删除那些已停止的容器、dangling 镜像、未被容器引用的 network 和构建过程中的 cache
我的个人博客:逐步前行STEP
mysql加锁语句:
selct * from table_name where id=1 for update
使用方式以及注意事项:
1、该语句必须在事务中执行才生效
2、如果该语句中的查询未正确使用索引(不一定是主键),则该语句会锁全表
3、如果该语句的查询中索引生效了,只会锁定查询的行
4、该锁会在事务提交的时候释放
我的个人博客:逐步前行STEP
首先,es不支持直接更改mappinng,所以,更改 mapping 实质上是重建索引。
操作步骤如下:
1、为当前这个索引old_index
设置一个别名my_index
:
curl -XPOST localhost:9200/_aliases -d '
{
"actions": [
{ "add": {
"alias": "my_index",
"index": "old_index"
}}
]
} '
2、通过别名my_inndex
访问索引old_index
;
3、重建一个新的索引new_index
,在此时使用需要的字段属性;
curl -XPUT localhost:9200/new_index
{
"mappings": {
"doc": {
"properties": {
"id": {
"type": "long"
},
"user_id": {
"type": "long"
}
}
}
},
"settings": {
"index": {
"number_of_shards": "5",
"number_of_replicas": "1"
}
}
}
4、迁移旧的索引old_index
数据到新的索引new_index
上;
curl -XPOST localhost:9200/_reindex
{
"source":{
"index":"old_index"
},
"dest":{
"index":"new_index"
}
}
5、为索引new_index
设置一个别名为my_index
,同时删除该别名对旧索引old_index
的指向:
curl -XPOST localhost:9200/_aliases -d '
{
"actions": [
{ "remove": {
"alias": "my_index",
"index": "old_index"
}},
{ "add": {
"alias": "my_index",
"index": "new_index"
}}
]
} '
6、删除索引old_index
curl -XDELETE localhost:9200/old_index
我的个人博客:逐步前行STEP
1、$exist
查询 是否存在这个字段
//查询所有存在标签你字段的博客
App\Blog::where('tags','$exist',true)->get()
2、$in
查询 是否存在 【数组字段中的元素在列表中出现】
//查询所有包含标签tag_a或者tag_b的博客
App\Blog::whereRaw(['tags'=>['$in'=>["tag_a","tag_b"]]])->get()
3、$all
查询 是否存在 【数组字段中的元素全部在列表中】
//查询所有包含标签tag_a和tag_b的博客
App\Blog::whereRaw(['tags'=>['$all'=>["tag_a","tag_b"]]])->get()
4、$size
查询数组字段 tags 满足指定元素个数的文档
App\Blog::where('tags', 'size', 3)->get();
5、$where
条件过滤语句
App\Blog::whereRaw(['$where'=>'this.image_cnt = this.verify_image_cnt'])->get()
我的个人博客:逐步前行STEP
以下配置实现了 在docker环境中安装scwl中文分词的php扩展:
# scwl
RUN curl 'http://www.xunsearch.com/scws/down/scws-1.2.3.tar.bz2' -o scws-1.2.3.tar.bz2 \
&& tar -xjf scws-1.2.3.tar.bz2 \
&& rm scws-1.2.3.tar.bz2 \
&& mv scws-1.2.3 /tmp \
&& cd /tmp/scws-1.2.3 \
&& ./configure --prefix=/usr/local/scws \
&& make \
&& make install \
&& cd /usr/local/scws/etc \
&& wget http://www.xunsearch.com/scws/down/scws-dict-chs-gbk.tar.bz2 \
&& wget http://www.xunsearch.com/scws/down/scws-dict-chs-utf8.tar.bz2 \
&& tar xvjf scws-dict-chs-gbk.tar.bz2 \
&& tar xvjf scws-dict-chs-utf8.tar.bz2 \
&& cd /tmp/scws-1.2.3/phpext \
&& phpize \
&& ./configure --with-scws=/usr/local/scws \
&& make \
&& make install
这种方式就是把所有需要执行的命令罗列出来按序执行。