![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
文章平均质量分 87
TJtulong
成名在望 百度搬砖
展开
-
分布式锁的三种实现方式
分布式系统高并发下的问题有一个电商抢购的场景:为了避免超卖的问题,在单服务器环境下,可用通过JVM的锁解决。@RequestMapping("/deduct_stock")public String deductStock() { synchronized (this) { // 从Redis中取出当前库存 int stock = Integer.parseInt(stringRedisTemplate.opsForValue().get("stock"));原创 2020-06-04 23:51:39 · 1867 阅读 · 1 评论 -
MyBatis从原理到实战
文章目录持久层技术解决方案MyBatis入门环境搭建SqlMapConfig.xml配置文件查询操作基于注解开发自定义查询方法应用的设计模式自定义MyBatisResourse配置类SqlSessionFactoryBuilderSqlSessionFactorySqlSessionHandler类MyBatis的crud操作保存操作更新操作删除操作模糊查询聚合函数OGNL表达式返回值对象封装Dao方式的Mybatis连接池UNPOOLEDPOOLED事务动态SQLif标签where标签foreach标签多原创 2020-05-29 10:10:34 · 497 阅读 · 0 评论 -
Elasticsearch的核心技术
文章目录Elasticsearch介绍利用数据库做搜索全文检索与倒排索引什么是ElasticsearchElasticsearch的功能Elasticsearch的核心概念Elasticsearch操作入门Document数据格式查看集群信息文档的增删改查五种搜索方式query string searchquery DSLquery filterfull-text searchphrase search聚合分析Elasticsearch的分布式透明隐藏特性shard&replica机制ES的容错机制原创 2020-05-26 11:56:44 · 841 阅读 · 0 评论 -
深入理解Redis
文章目录为什么要用RedisRedis的线程模型redis 和 memcached 的区别多路I/O复用(epoll)单线程模型单线程高效原因Redis的五种数据结构各种数据结构及使用场景Redis的底层数据结构Redis五大数据类型的实现原理Redis的过期策略过期删除内存淘汰机制LRU的简易实现Redis的高并发与高可用读写分离主从复制哨兵模式数据丢失的问题异步复制导致的丢失脑裂导致的丢失Redis cluster集群模式Redis cluster介绍一致性哈希算法Hash slotgossip协议通信原创 2020-05-19 00:27:33 · 2124 阅读 · 2 评论 -
手写一个简易跳表(Java版)
跳表概述跳表是由William Pugh于1990年发明,他在论文中给出了跳表的描述:Skip lists are a data structure that can be used in place of balanced trees. Skip lists use probabilistic balancing rather than strictly enforced balancing and as a result the algorithms for insertion and deleti原创 2020-05-15 11:53:04 · 986 阅读 · 0 评论 -
NoSQL数据库之Redis
NoSQL为什么用NoSQLNoSQL(NoSQL = Not Only SQL),意即“不仅仅是SQL”,泛指非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题,包括超大规模数据的存储。谷歌或Facebook每原创 2020-05-12 22:56:20 · 459 阅读 · 0 评论 -
MySQL的高可用
MySQL的主从复制主从复制概述在我们日常的数据库运维中,经常会因为各种原因需要停止数据库,比如MySQL版本升级,服务器硬件升级等,如果没有备份的话很容易造成数据丢失,且可用性降低。MySQL的主备可以提高数据库的可用性。MySQL几乎所有的高可用架构,都直接依赖于binlog。虽然这些高可用架构已经呈现出越来越复杂的趋势,但都是从最基本的一主一备演化过来的。主从复制原理主要涉及三个线...原创 2020-04-23 22:02:41 · 808 阅读 · 0 评论 -
MySQL的锁问题
文章目录表锁创建表锁表共享读锁查询写操作读其它表解锁表独占写锁表锁定分析MDL总结行锁创建行锁行锁定索引失效导致行锁升级为表锁间隙锁的危害锁定单行行锁分析总结优化建议全局锁锁是计算机协调多个进程或线程并发访问某一资源的机制。锁的分类:从对数据操作的类型来分:读锁(共享锁)和写锁(排它锁)读锁:针对同一份数据,多个读操作可以同时进行而不会相互影响;写锁:当前写操作没有完成前,它会阻断其他...原创 2020-04-14 11:16:55 · 282 阅读 · 0 评论 -
MySQL索引及优化
文章目录索引什么是索引索引的优缺点索引分类基本语法创建索引删除索引查看索引其他创建索引的方式索引的结构建立索引与否的具体情况需建立索引的情况不需要创建索引的情况B-Tree和B+TreeB-树B+树聚簇索引辅助索引MyISAMInnoDB覆盖索引复合索引性能调优explain的作用explain包含的信息idselect_typetypesystemconsteq_refrefrangeindex...原创 2020-04-14 11:14:07 · 377 阅读 · 0 评论