Redis安装及集群搭建手册
1、 环境信息12centos7redis5 单机安装 123456789101112wget http://download.redis.io/releases/redis-5.0.3.tar.gztar xzf redis-5.0.3.tar.gz -C /usr/local/cd /usr/local/redis-5.0.3make# 启动Redissrc/redis-server# 使用客户端命令窗口src/redis-cliredis> set foo barOKredis> get foo"bar" 2、整体集群信息1234# 以直接在一台机器上实现上述的伪集群,因为端口号特意设置为不同的。# 重点:不论机器多少,对于部署过程都是一样的,只不过是在不同机器启动redis-server而已192.168.100.242 (6381- 6386共6个端口)# 注意事项:如果你的服务器有多个IP,那你操作下面步骤时,尽量使用你的客户端能够访问的IP 3、安装Redis每台服务器上面都要下载安装 123456789wget...
Mysql Explain工具使用及索引调优
使用EXPLAIN关键字可以模拟优化器执行SQL语句,分析你的查询语句或是结构的性能瓶颈 在 select 语句之前增加 explain 关键字,MySQL 会在查询上设置一个标记,执行查询会返 回执行计划的信息,而不是执行这条SQL 注意:如果 from 中包含子查询,仍会执行该子查询,将结果放入临时表中 explain分析示例示例表: 12345678910111213141516171819202122232425262728CREATE TABLE `actor` ( `id` int(11) NOT NULL, `name` varchar(45) DEFAULT NULL, `update_time` datetime DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;INSERT INTO `actor`(`id`,`name`,`update_time`)VALUES(1,'a','2017‐12‐22 15:27:18'),...
Java 线程池原理分析
简介线程池可以简单看做是一组线程的集合,通过使用线程池,我们可以方便的复用线程,避免了频繁创建和销毁线程所带来的开销。在应用上,线程池可应用在后端相关服务中。比如 Web 服务器,数据库服务器等。以 Web 服务器为例,假如 Web 服务器会收到大量短时的 HTTP 请求,如果此时我们简单的为每个 HTTP 请求创建一个处理线程,那么服务器的资源将会很快被耗尽。当然我们也可以自己去管理并复用已创建的线程,以限制资源的消耗量,但这样会使用程序的逻辑变复杂。好在,幸运的是,我们不必那样做。在 JDK 1.5 中,官方已经提供了强大的线程池工具类。通过使用这些工具类,我们可以用低廉的代价使用多线程技术。 线程池作为 Java 并发重要的工具类,在会用的基础上,我觉得很有必要去学习一下线程池的相关原理。毕竟线程池除了要管理线程,还要管理任务,同时还要具备统计功能。所以多了解一点,还是可以扩充眼界的,同时也可以更为熟悉线程池技术。 继承体系线程池所涉及到的接口和类并不是很多,其继承体系也相对简单。相关继承关系如下: 如上图,最顶层的接口 Executor...
mybatis查询大量数据内存溢出解决办法
平常使用mybatis时并没有考虑内存问题,但今天遇到一件事情是一次需要查询的数据量很大,直接导致系统oom,所以对需要大量查询的sql做了如下修改… 12345678910111213141516171819@Autowiredprivate SqlSessionTemplate sqlSessionTemplate;@Testpublic void test() { MerchantOrderPushExample merchantOrderPushExample = new MerchantOrderPushExample(); MerchantOrderPushExample.Criteria criteria = merchantOrderPushExample.createCriteria(); criteria.andIdIsNotNull(); merchantOrderPushExample.setOrderByClause(" id desc"); HashMap<String,...