Java
文章平均质量分 90
八步赶蟾
破山中贼易,破心中贼难
展开
-
点赞、签到、秒杀的设计与实现(真实场景)
前言这次来总结思考一下工作中的两个功能的设计与实现,一是丰享达人榜,二是丰享签到活动,这里涉及到两个典型的互联网应用场景:点赞和签到,都是qps,qps可能较高,要求接口延迟较短,有较好的用户交互体验。当然我们不可能像互联网大厂那样自研中间件,数据的存储无疑就是redis和mysql,从前面的要求来看,我们不能每次操作都对数据库进行操作,好在这类数据都不算敏感,可以容许因为异常导致的丢失和不准确,所以基本思路应该就是:主要依赖于redis缓存的crud操作,异步再去持久化数据到数据库,接下来看看具体的实原创 2021-07-13 23:01:41 · 566 阅读 · 0 评论 -
es的几个骚操作
PostgreSQLElasticSearch原创 2019-10-20 14:55:53 · 367 阅读 · 0 评论 -
事务与锁探索之postgres&mysql
前言数据库和炽手可热的nosql相比较,除了字段要求结构化,表关联之外,最重要的feature(特性)就是支持事务了,特别是postgres老早就有json、jsonb数据类型,msyql在8.0也完善了这一点,并增加大量内置函数支持,使之都拥有了一些nosql特性,那么事务是传统关系型数据库和他最后的倔强了。事务机制保证数据的ACID,即Atomicity(原子性),Consistency(一...原创 2019-10-19 23:34:18 · 302 阅读 · 0 评论 -
mongodb通用操作(无需增加Java代码)
项目中用到了mongodb这款nosql,虽然spring集成了非常好用的工具类,但新手使用各种操作过程中还是需要查找大量博客,测试大量代码,可能每一个表的操作都会写很多的Criteria等,于是利用spring提供的MongoTemplate类加上泛型和反射和多态等Java特性,完成了一个能够解决掉基本的增删改查操作的类,处理了分表创建和分表索引建立,聚合查询,应该是缩短了不少工时的@Da...原创 2018-04-08 11:38:24 · 1176 阅读 · 0 评论 -
如何实现高性能的中文检索
前言 百度是最强大的中文搜索引擎,试想如果没有百度,我们的生活将会怎样? 我们将会很难了解到我们生活所需的流行歌曲,体育赛事,好莱坞大片,旅游胜地,名医名院,书籍课程,等各种信息;像我这种水平的低阶码农,也将没办法从技术博客中copy到现成代码来修改,妥妥的要失业。百度是高性能的检索工具,它要尽可能多的爬取全万维网的网页储存起来,还要能够在相当短的时间内响应用户的搜索,这绝对是不简单的。我...原创 2019-10-03 00:41:55 · 586 阅读 · 2 评论