session保存

Redis的11种Web应用场景

…衆ロ難τιáo~ 提交于 2019-12-20 00:29:05
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 在 “怎样让Redis在你的系统中发挥作用”一文 中,Salvatore 'antirez’ Sanfilippo告诉我们如何利用Redis独有的数据结构处理能力来解决一些常见问题。一些Redis原语命令比如LPUSH、LTRIM和LREM等等能够用来帮助开发者完成需要的任务——这些任务在传统的数据库存储中非常困难或缓慢。这是一篇非常有用并且实际的文章。那么要如何在你的框架中完成这些任务呢? 下面列出11种Web应用场景,在这些场景下可以充分的利用Redis的特性,大大提高效率。 1.在主页中显示最新的项目列表。 Redis使用的是常驻内存的缓存,速度非常快。LPUSH用来插入一个内容ID,作为关键字存储在列表头部。LTRIM用来限制列表中的项目数最多为5000。如果用户需要的检索的数据量超越这个缓存容量,这时才需要把请求发送到数据库。 2.删除和过滤。 如果一篇文章被删除,可以使用LREM从缓存中彻底清除掉。 3.排行榜及相关问题。 排行榜(leader board)按照得分进行排序。ZADD命令可以直接实现这个功能,而ZREVRANGE命令可以用来按照得分来获取前100名的用户,ZRANK可以用来获取用户排名,非常直接而且操作容易。 4.按照用户投票和时间排序。 这就像Reddit的排行榜

关于在使用tomcat做开发测试的某些时候无端报ClassNotFound异常的解决方法

徘徊边缘 提交于 2019-11-29 02:59:44
很多人都使用tomcat来作为java web项目的服务器,特别是在开发阶段,选择的人更多。本文所说的问题针对tomcat的开发环境,在正式环境中不会出现这个问题。 前段时间,在进行项目运行的时候出现了一件怪事:一个类明明就有,但是tomcat在启动的时候就是要反复报“java.lang.ClassNotFoundException”,经过不断检查,上网查询,终于找到了原因并解决之,下面做一些说明,希望对其他人有所帮助。 0、重现 要重现这个问题,需要满足一些条件:在开发的IDE中进行部署(如eclipse,这是很常见的),项目中有用户登录的操作,连续的直接重启服务器(这在开发中也是很常见的)。 这个问题并不是每次都会出现,只不过出现的概率也是挺大的,出现的时候报的错误就是说的用于在session中保存用户登录的那个类找不到,服务器也启动成功,但是看到有异常总感觉不舒坦,就想解决了她。 1、原因 出现这个问题的原因就是tomcat在关闭的时候会保存当前存在的session对象,然后在启动的时候恢复,这个的具体过程没有去研究过,不过关于这个的例子大家可以试一试——就是在正式环境(不是在IDE中部署)中,用户登录之后不关闭浏览器,使用tomcat的shutdown脚本关闭服务器,然后在启动服务器,就可以看到浏览器的session还是有效的。 这个功能默认都是开启的