摘要:
数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情。当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能。这里,我们不会讲过多的SQL语句的优化,而 阅读全文
摘要:
一:缓存——热数据 热点数据(经常会被查询,但是不经常被修改或者删除的数据),首选是使用redis缓存,毕竟强大到冒泡的QPS和极强的稳定性不是所有类似工具都有的,而且相比于memcached还提供了丰富的数据类型可以使用,另外,内存中的数据也提供了AOF和RDB等持久化机制可以选择,要冷、热的还是 阅读全文
摘要:
非脚本实现 以上代码有两点缺陷 可能会出现竞态条件: 解决方法是用 WATCH 监控 rate.limit:$IP 的变动, 但较为麻烦; 以上代码在不使用 pipeline 的情况下最多需要向Redis请求5条指令, 传输过多. Lua脚本实现 Redis 允许将 Lua 脚本传到 Redis 服 阅读全文
摘要:
方式一:使用DECR减库存 1、使用watch,采用乐观锁 2、不使用悲观锁,因为等待时间非常长,响应慢 3、不使用队列,因为并发量会让队列内存瞬间升高 Redis对事物的支持目前比较简单。Redis只能保证一个client发起的事务中的命令可以连续的执行,但后面命令出错前面不会回滚。而中间不会插入 阅读全文
摘要:
在学习Redis的常用操作时,经常看到介绍说,Redis的set、get以及hset等等命令的执行都是原子性的,但是令自己百思不得其解的是,为什么这些操作是原子性的? 原子性 原子性是数据库的事务中的特性。在数据库事务的情景下,原子性指的是:一个事务(transaction)中的所有操作,要么全部完 阅读全文
摘要:
从 2.6版本 起, Redis 开始支持 Lua 脚本 让开发者自己扩展 Redis … 非脚本实现 以上代码有两点缺陷 可能会出现竞态条件: 解决方法是用 WATCH 监控 rate.limit:$IP 的变动, 但较为麻烦; 以上代码在不使用 pipeline 的情况下最多需要向Redis请求 阅读全文
摘要:
官方地址: 主站:Mycat-server@github : https://github.com/MyCATApache/Mycat-Server.git Mycat-web@github : https://github.com/MyCATApache/Mycat-Web.git Mycat-d 阅读全文
摘要:
数据存储演进思路一:单库单表 单库单表是最常见的数据库设计,例如,有一张用户(user)表放在数据库db中,所有的用户都可以在db库中的user表中查到。 数据存储演进思路二:单库多表 随着用户数量的增加,user表的数据量会越来越大,当数据量达到一定程度的时候对user表的查询会渐渐的变慢,从而影 阅读全文
摘要:
Remoting:网络通信框架,实现了sync-over-async和request-response消息机制。 RPC:一个远程过程调用的抽象,支持负载均衡、容灾和集群功能。 Registry:服务目录框架用于服务的注册和服务事件发布和订阅。(类似第一篇文章中的点菜宝) dubbo架构 Provi 阅读全文
摘要:
package com.algorithm;import java.util.ArrayList;import java.util.List;/** * 类功能描述: * * @author Barry * @version 1.0.0 * @auther Create by Barry * @da 阅读全文