- 博客(163)
- 收藏
- 关注
原创 java日志框架浅谈
常见的日志门面:JCL(Jakarta Commons Logging)、slf4j(Simple Logging Facade For Java)JCL日志门面支持的日志实现数组:org.apache.commons.logging.impl.Log4JLoggerorg.apache.commons.logging.impl.Jdk14Loggerorg.apache.commons.logging.impl.Jdk13LumberjackLoggerorg.apache.commons.l
2022-05-22 17:15:52
126
原创 布隆过滤器详解
减少误判的措施:1、增加二进制数组位数2、增加hash次数布隆过滤器的缺陷及解决方案:缺陷:无法直接处理删除数据的情况解决方案:1、定时异步重建布隆过滤器2、计数Boom Filter
2022-05-10 23:48:53
213
原创 mongodb新建分片和索引
use 数据库名称;db.createCollection("集合名称");//创建索引db.集合名称.ensureIndex({"字段A":"hashed"},{background:true});//新建分片sh.shardCollection("数据库名称.集合名称", {"字段A": "hashed"} );//创建索引db.集合名称.ensureIndex({"字段B":1,"字段C":1},{background:true});...
2022-04-24 14:21:36
1279
原创 linux查看日志命令详解
1.1 查询特定日志并显示行号grep -n '搜索内容' 日志文件1.2 查询特定日志并显示行号,只显示特定行号的前后10行日志grep -n '搜索内容' 日志文件|grep 行号 -C10例:grep -n 'error' 日志文件|grep 18 -C102.1 查询起始行号和结束行号之间的日志sed -n '297036,297056p' 日志文件...
2022-04-16 09:29:42
1688
原创 mysql hash索引的优缺点
1、优点:在做等值查询的时候,在没有hash冲突的情况下通过hash索引访问数据是非常快的2、缺点:2.1 哈希索引只包含了哈希值和行指针,不存储字段值,所以不能使用索引中的值来避免读取行。2.2 哈希索引只支持等值查询,不支持任何的范围查询和部分索引列的匹配查找2.3 哈希索引数据不是按照索引值顺序存储的,所以也无法用于排序2.4 如果发生哈希冲突,存储引擎就必须遍历链表来逐行比较,直到找到符合条件的所有行...
2022-03-19 21:49:53
2040
原创 git常用命令总结
1、查看当前git分支是基于哪个分支创建的git reflog --date=local --all | grep 要查询的分支名称2、git 查看单个分支提交历史命令格式:git log 基础分支..派生分支如果dev-webpack从dev切出来的可以用git log dev..dev-webpack查看单独dev-webpack提交历史...
2022-03-15 22:54:27
825
原创 maven手动添加jar包到本地仓库和手动部署jar包到远程仓库
1、手动添加jar包到本地仓库:mvn install:install-file -Dfile=jar包的位置(参数一) -DgroupId=groupId(参数二) -DartifactId=artifactId(参数三) -Dversion=version(参数四) -Dpackaging=jar注意必须在有pom文件的文件夹内执行才有效(项目内的pom文件目录内也有效)2、手动部署jar包到远程仓库:mvn deploy:deploy-file -DgroupId=com.csource
2022-03-02 00:02:54
2019
原创 十六进制和字符串的转换
1、16进制和字符串互转工具2、查看字符编码(UTF-8)的码值3、shell中直接查看16进制对应的字符串,命令如下:4、字符串转16进制的原理:某个字符在字符编码中的码值即为该字符的16进制值,如字符【我】的码值为15108241,则对应的16进制值为E68891...
2022-02-27 18:40:29
13228
原创 redis缓存和数据库双写一致性问题分析
文章目录1、最初级的缓存不一致问题以及解决方案2、比较复杂的数据不一致问题分析(读写并发导致数据不一致)1、最初级的缓存不一致问题以及解决方案问题:先修改数据库,再删除缓存,如果删除缓存失败了,那么会导致数据库中是新数据,缓存中是旧数据,数据出现不一致解决思路先删除缓存,再修改数据库,如果删除缓存成功了,如果修改数据库失败了,那么数据库中是旧数据,缓存中是空的,那么数据不会不一致因为读的时候缓存没有,则读数据库中旧数据,然后更新到缓存中2、比较复杂的数据不一致问题分析(读写并发导致数据不一致)
2022-02-11 00:10:08
602
原创 redis为什么是删除缓存,而不是更新缓存
redis为什么是删除缓存,而不是更新缓存呢?原因很简单,很多时候,复杂点的缓存的场景,因为缓存有的时候,不简单是数据库中直接取出来的值商品详情页的系统,修改库存,只是修改了某个表的某些字段,但是要真正把这个影响的最终的库存计算出来,可能还需要从其他表查询一些数据,然后进行一些复杂的运算,才能最终计算出现在最新的库存是多少,然后才能将库存更新到缓存中去比如可能更新了某个表的一个字段,然后其对应的缓存,是需要查询另外两个表的数据,并进行运算,才能计算出缓存最新的值的更新缓存的代价是很高的是不是说,
2022-02-10 23:41:58
2529
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人