2018年3月10日 上午11:47
- 分布式是一种任务处理方式,判断的依据就是大任务是否拆分为小任务分给不同的机器
- 集群是一种物理形态,判断的依据就是是否有多台机器
- 分布式一定需要集群这种物理形态的支持
2018年3月10日 上午11:47
2018年3月10日 上午10:52
复制一个redis-2.8.0_1文件夹redis-2.8.0_2
修改redis-2.8.0_2的redis.conf的端口为6380
默认方式启动启动redis-2.8.0_1
指明配置文件位置的方式启动redis-2.8.0_2
redis-cli方式启动redis-2.8.0_1
redis-cli -p 6380方式启动redis-2.8.0_2
创建Common/RedisShardedPool类
创建util/RedisShardedPoolUtil类
找到所有调用RedisPoolUtil的类,替换成RedisShardedPoolUtil
2018年3月10日 上午10:20









Cache命中不到的话,就会极大地加大数据库的负载,因为请求会转到数据库中寻找数据






object映射到cache


删除之后,并不是原先的牵一发而动全身,但是也会出现命中不到的现象,如object4。这是他会














2018年3月9日 上午11:11
keyspace
Databases
2018年3月9日 上午10:30
Index of /releases下载2.8版本
1 | sudo tar -zxvf redis-2.8.0.tar.gz |
第一层目录下执行
1 | sudo make |
开启redis
1 | cd src/ |
关闭(自动持久化):
1 | redis-cli shutdown |
换端口启动:
1 | sudo redis-server --port 6380 |
客户端换端口连接:
1 | redis-cli -p 6380 |
1 | redis-cli -p 6380 shutdown |
redis-cli的各种操作依然要执行-p参数
1 | redis-cli -p 6380 -h 127.0.0.1 |

2018年3月9日 上午10:07
Linux kill和kill-9区别
linux命令ps aux|grep xxx详解 - 人生设计师 - 博客园
每天一个linux命令(35):ln 命令 - peida - 博客园
mac下redis安装、设置、启动停止 - 漫夭 - 博客园
1 | ps axu|grep redis ## 查找redis-server的PID |
1 | ## 启动redis-server,后台线程 |
Mac 取消软件开机启动_百度经验
我先前通过brew安装了一个redis:Redis安装,并且我设置成了开机自启,所以我必须把开机自启关闭:
1 | launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.redis.plist |
2018年3月9日 下午2:53
序列化,反序列化原因
我们现在需要将我们的用户session存储在redis中 ,但是redis中不能不能直接存储User对象,我们只能使用序列化的方法:将User对象序列化为json,然后用redis中的string类型进行存储
创建_util_JsonUtil类
在controller中将session的保存用redis缓存来代替
配置tomcat启动配置,设置两个tomcat,tomcat1、tomcat2
复制整个项目,改个名字就行,然后用idea打开这个复制好的项目,选择new windows。然后,在这个项目中运行配置选择tomcat2,运行。
打开已经配置好对域名www.imooc.com负载均衡的nginx服务器
配置host,让域名www.imooc.com指向nginx的127.0.0.1
现在的问题是:当我们分别访问tomcat1、tomcat2时,双方的登录信息sessionid不能共享。也就是说,当tomcat1登录之后,tomcat2依然没有登录
mvn clean package -Dmaven.test.skip=true2018年3月8日 下午12:44
注:下文中提到配置文件可到:Learning.happymmall.com 下载



热部署
http线程池



登录信息session的共享



架构的演进和代码的演进过程













注:我们这里要重新解压缩新的tomcat,使webapps得ROOT也藐视tomcat的默认首页





























2018年3月8日 下午12:17
通过maven命令的不同打包方式打包,打包发布不同的环境,省去了本地环境与线上环境不同要逐个改配置文件的麻烦
pom.xml
创建文件夹,修改各自的配置
使用—P命令选择打包的环境
1 | localhost:mmallv4.0 czh$ mvn clean package -Dmaven.test.skip=true -Pdev |


注:
2018年3月8日 上午10:35
Lombok是一个可以通过简单的注解形式来帮助我们简化消除一些必须有但显得很臃肿的Java代码的工具,通过使用对应的注解,可以在编译源码的时候生成对应的方法。
lombok:Project Lombok
反编译软件:Java Decompiler 功能:class->java


1 | @Getter |





1 | localhost:mmallv4.0 czh$ mvn clean package -Dmaven.test.skip=true |


