- 博客(13)
- 收藏
- 关注
原创 如何把maven项目打成jar包
maven 打包可执行jar包在使用Maven完成项目以后,如果需要打包成可执行的Jar文件,我们通过eclipse的导出很麻烦,还得指定入口文件的位置,还得说明依赖的jar包,既然都使用Maven了,很重要的一个目的就是让这些繁琐的操作简单。我们可以通过插件完成这项工作,使用assembly插件。具体使用方式如下:pom.xml<build> <plugins> <plugin> <groupId>org.apach
2020-09-30 13:56:06
1821
原创 SpringMVC执行流程及原理
SpringMVC执行流程及原理执行流程用户发送出请求到前端控制器DispatcherServlet。DispatcherServlet收到请求调用HandlerMapping(处理器映射器)。HandlerMapping找到具体的处理器(可查找xml配置或注解配置),生成处理器对象及处理器拦截器(如果有),再一起返回给DispatcherServlet。DispatcherServlet调用HandlerAdapter(处理器适配器)。HandlerAdapter经过适配调用具体的处理器(H
2020-09-30 13:39:36
580
原创 Redis数据已经过期了,为什么还占用内存?
问题1:刚刚向redis中插入的数据怎么没了?问题2:我插入redis的数据应该过期了,为什么还占用内存?如果有以上问题说明你还不了解Redis的内存淘汰机制问题1的解决:设置redis中key的过期时间redis> SET cache_page "www.google.com"OK redis> EXPIRE cache_page 30 # 设置过期时间为 30 秒(integer) 1我们set key的时候,都可以给一个expire time,就是过期时间,指定这个k
2020-09-30 12:03:51
1286
原创 Redis应用案例——2.秒杀系统
秒杀的核心问题就是极高并发处理,由于系统要在瞬时承受平时数十倍甚至上百倍的流量,这往往超出系统上限,因此处理秒杀的核心思路是流控和性能优化。流控请求流控尽可能在上游拦截和限制请求,限制流入后端的量,保证后端系统正常。因为无论多少人参与秒杀,实际成交往往是有限的,而且远小于参加秒杀的人数,因此可以通过前端系统进行拦截,限制最终流入系统的请求数量,来保证系统正常进行。客户端流控在客...
2020-01-15 19:52:18
302
原创 Redis应用案例——1.位图法统计活跃用户
Redis位图法统计活跃用户1.题目若网站有10亿个用户, 现在要统计一周内连续登录的用户1.1解决:可以用一个字节8个位表示7个人, 首位不算固定为0, 若某人周一登录则置为1, 没登录则为0127.0.0.1:6379> set mon 01010100OK127.0.0.1:6379> set thu 01100101OK127.0.0.1:6379> ...
2020-01-15 19:51:22
462
原创 Redis入门——7.Redis集群
Redis集群模式类型主从复制(redis2.8版本之前的模式)哨兵模式(redis2.8及之后的模式)Redis官方 Cluster集群模式(服务端sharding,redis3.0`版本之后)Jedis sharding集群(客户端sharding)利用中间件代理一.主从复制介绍 Slave从节点服务启动并连接到Master之后,它将主动发送一个SYNC命令。...
2020-01-15 19:50:30
381
原创 Redis入门——6.Redis频道发布与消息订阅
Redis频道发布与消息订阅一,Redis 发布订阅Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。Redis 客户端可以订阅任意数量的频道。实例以下实例演示了发布订阅是如何工作的。在我们实例中我们创建了订阅频道名为 newssubscribe channel [channel …]订阅给定的一个或多个频道的信息。127...
2020-01-15 19:49:47
2102
原创 Redis入门——5.Redis持久化
Redis持久化一,rdb快照持久化RDB : Redis Database1.介绍在指定时间间隔内,将内存中的数据集快照写入磁盘2.特点Redis会单独创建(fork)一个子进程来进行持久化,会先将数据写入一个临时文件中,待持久化过程结束了,再用这个临时文件代替上次持久化产生的文件。整个过程中,主进程不进行任何的I/O操作,确保了极高的性能如果需要大规模的恢复数据,且对于恢...
2020-01-15 19:48:38
265
原创 Redis入门——4.Redis事务及锁应用
Redis事务及锁应用一,事务的应用事务: 即逻辑上的一组操作,要么全部成功,要么全部失败。参考mysql中的事务,redis为了处理实际业务同样提供了事务操作,下面我们参照mysql中的事务学习redis事务。 MySQL Redis 开启事务 begin multi语句/命令 sql语句 普通命令失败 rollbac...
2020-01-15 19:47:49
400
原创 Redis入门——3.Redis key的设计技巧
Redis key的设计技巧一,key设计原则把表名转换为key前缀, 比如: tag:第二段放置用于区分key的字段–对应mysql中的主键的列名第三段放置主键值第三段写列名二,案例用户表user, 转换为redis的key-value存储uid username password phone1 zhangsan 123 122222222 lis...
2020-01-15 19:46:36
2077
原创 Redis入门——2.Redis 常用命令
Redis 常用命令一、key pattern 查询相应的key(1)redis允许模糊查询key 有3个通配符 *、?、[](2)randomkey:返回随机key(3)type key:返回key存储的类型(4)exists key:判断某个key是否存在(5)del key:删除key(6)rename key newkey:改名(7)renamenx key newke...
2020-01-15 19:43:26
123
原创 JRebel热部署
JRebel热部署1.idea中安装插件File -> Settings -> Plugins -> Browse repositories 中 搜索 JRebel,安装 JRebel for IntelliJ 插件即可。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NqnGnect-1571984859269)(https://gitee....
2019-10-25 14:41:09
958
原创 Redis入门——1.Redis安装
Linux Redis 使用安装一,安装 redis官网链接 http://download.redis.io/releases/redis-5.0.5.tar.gz1.选择最新稳定版本stable或最新版redis,复制官网链接 通过 wget 指令安装[root@VM_0_10_centos bin]# cd /usr/local/src[root@VM_0_10_...
2019-10-25 08:22:21
205
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人