![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
测试__昵称
这个作者很懒,什么都没留下…
展开
-
spring redis executePipelined
Callback cannot return a non-null value as it gets overwritten by the pipeline.原创 2021-12-15 15:49:53 · 1907 阅读 · 0 评论 -
数据库varchar长度设置问题
根据自己多年的工作经验,特别是在接收旧的项目时,varcahr的长度设置有不同的风格,针对varchar长度的设置问题,自己划分了不同的门派。1.强迫症派:长度设置为4或者8的倍数,达到内存对齐的目的;2.贴心派:长度设置成(2^n)-1;3.务实派:需要多长就设置多长,不关心2的几次幂;4.逍遥派:varchar是存储可变长字符串的,n值尽可能设置的大,比如varchar(1000)。下面分析那种方案更合理:1.varchar(n)的最大值字符数是多少varchar的最大可以保原创 2021-11-30 17:18:42 · 4497 阅读 · 0 评论 -
JAVA操作mongoDB
//检索条件Criteria criteria = null;criteria = Criteria.where("bizId").is(“123”);criteria.and("bizType").is(bizType);//构建查询条件Query query = new Query(criteria);//查询结果CustomConfigVO vo = mongoOperations.findOne(query, CustomConfigVO.class, CUSTO原创 2021-08-30 19:55:16 · 63 阅读 · 0 评论 -
mysql 索引下推
索引下推(index condition pushdown )简称ICP,在Mysql5.6的版本上推出,用于优化查询。 在不使用ICP的情况下,在使用非主键索引(又叫普通索引或者二级索引)进行查询时,存储引擎通过索引检索到数据,然后返回给MySQL服务器,服务器然后判断数据是否符合条件 。 在使用ICP的情况下,如果存在某些被索引的列的判断条件时,MySQL服务器将这一部分判断条件传递给存储引擎,然后由存储引擎通过判断索引是否符合MySQL服务器传递的条件,只有当索引符合条件时才会..转载 2021-07-05 14:36:17 · 118 阅读 · 0 评论 -
使用mybatis的拦截器做加密功能
使用mybatis的拦截器,实现加密功能。拦截器也被应用在分页功能上。实现数据加密,进入数据库的字段不能是真实的数据,但是返回来的数据要真实可用,所以我们需要针对 Parameter 和 ResultSet 两种类型处理,同时为了更灵活的使用,我们需要自定义注解...原创 2021-04-24 15:46:24 · 249 阅读 · 0 评论 -
redisson 实现分布式锁的原理
一、写在前面现在面试,一般都会聊聊分布式系统这块的东西。通常面试官都会从服务框架(Spring Cloud、Dubbo)聊起,一路聊到分布式事务、分布式锁、ZooKeeper等知识。所以咱们这篇文章就来聊聊分布式锁这块知识,具体的来看看Redis分布式锁的实现原理。说实话,如果在公司里落地生产环境用分布式锁的时候,一定是会用开源类库的,比如Redis分布式锁,一般就是用Redisson框架就好了,非常的简便易用。大家如果有兴趣,可以去看看Redisson的官网,看看如何在项目中引入Redis转载 2021-03-04 22:18:57 · 174 阅读 · 1 评论 -
Redis 集群的分库和分片
之前一篇写了关于 Redis 的性能,这篇就写写我认为比性能更重要的扩展性方面的主题。如果再给我一次回到好几年前的机会,对于使用 Redis 我一开始就要好好考虑将来的扩展问题。就像我们做数据库分库分表,一旦决策了分库分表,通常一次就会分到位,比如搞上 8 或 16 个库,每个库再分 256 或 1024 个表。不管将来业务再怎么发展,基本这个量级的分片都足够应对,而且底层库可以做成逻辑的,扛...转载 2019-01-14 18:32:59 · 968 阅读 · 0 评论 -
舍弃oracle,使用mysql
2012年淘宝DBA丁原为我们详细讲述了他在淘宝5年的DBA经历,同时也介绍了商业数据库与开源数据库之间的区别联系,并且还详细分析了淘宝在应用开源数据库时的问题以及解决方案据丁原透露,淘宝从2008年开始尝试使用开源MYSQL数据库,2010年到现在属于开源MYSQL数据库应用发展阶段。商业数据库产品成为业界主流的情况下,淘宝最终为什么会选择开源数据库产品呢?对于此,丁原认为,放弃商业...转载 2019-01-07 15:03:53 · 268 阅读 · 0 评论 -
京东分布式存储建设之路(JFS)
[京东技术]声明:本文转载自微信公众号“IPDCHAT”,转载务必声明。 一拍而合,京东分布式存储起航1 在项目中你经常会遇到,有一些图片、视频或者文本需要存储,你希望它不丢失的同时还要能提供高速读写的能力。对于京东来说,这样的需求每天都在发生着,而且要求会更高,因为这些可能是用户的订单数据,你希望即使在写的时候断电了、磁盘坏了,你的数据还在;你希望即使服务器故障了、交换机坏了甚...转载 2019-01-04 16:30:30 · 861 阅读 · 0 评论 -
使用spring redis包操作redis进行incr操作
//自增方法 public Long incr(String key, long liveTime) { RedisAtomicLong entityIdCounter = new RedisAtomicLong(key, redisTemplate.getConnectionFactory()); Long increment = e...原创 2018-12-22 15:02:28 · 1984 阅读 · 0 评论 -
NGINX缓存应用
缓存类别:客户端缓存(sqlit)、浏览器缓存(cookie)、CDN缓存、NGINX缓存、应用缓存(encache)、统一缓存(redis) Nginx主要应用Nginx 的反向代理; Nginx 的负载均衡; Nginx 的动静分离; Nginx 解决跨域访问问题; Nginx 的防盗链配置。NGINX缓存服务器的静态文件:对客户已经访问过的内容在nginx服务器...原创 2018-12-01 12:59:14 · 263 阅读 · 0 评论 -
canal源码分析——整体架构分析
目前内部使用的同步,已经支持mysql5.x和oracle部分版本的日志解析 基于日志增量订阅&消费支持的业务:数据库镜像 数据库实时备份 多级索引 (卖家和买家各自分库索引) search build 业务cache刷新 价格变化等重要业务消息项目介绍 名称:canal [kə'næl] 译意: 水道/管道/沟渠 语言: 纯java开发...转载 2018-12-04 14:58:35 · 248 阅读 · 0 评论 -
分库分表技术演进暨最佳实践
每个优秀的程序员和架构师都应该掌握分库分表,这是我的观点。移动互联网时代,海量的用户每天产生海量的数量,比如: 用户表 订单表 交易流水表 以支付宝用户为例,8亿;微信用户更是10亿。订单表更夸张,比如美团外卖,每天都是几千万的订单。淘宝的历史订单总量应该百亿,甚至千亿级别,这些海量数据远不是一张表能Hold住的。事实上MySQL单表可以存储10亿级数据,只是这时...转载 2018-11-25 14:35:15 · 227 阅读 · 0 评论