摘要:
1. 背景自己在测试HashSet时,发现其输出Integer是有序的。2. 测试public static void hashSetObjectTest(){Set<Integer> set = new HashSet<Integer>(); set.add(6); set.add(3); set 阅读全文
摘要:
首先我们应该清楚这个概念:这里的有序和无序不是指集合中的排序,而是是否按照元素添加的顺序来存储对象。list是按照元素的添加顺序来存储对象的,因此是有序的。他的实现类ArrayList、LinkedList、Vector都是有序的。Map是无序的,它的存储结构是哈希表<key,value>键值对,m 阅读全文
摘要:
我们经常听说List是有序且可重复的,Set是无序且不重复的。这是一个误区,这里所说的顺序有两个概念,一是按照添加的顺序排列,二是按,照自然顺序a-z排列。Set并不是无序的传统所说的Set无序指的是HashSet,它不能保证元素的添加顺序,更不能保证自然顺序,而Set的其他实现类是可以实现这两种顺 阅读全文
摘要:
redis默认是只支持简单key的过期处理的,像SortedSet类型,也是针对整个set的过期处理,不支持对set的某个成员的过期处理; 为了解决这个问题,做法如下: 1.存储key及值信息到redis,并将key存入set里,设置key的过期时间; 这样key可以支持过期处理并在过期后移除key 阅读全文
摘要:
利用Java提供的Random类。从List或Set中随机取出一个元素,从Map中随机获取一个key或value。 因为Set没有提供get(int index)方法,仅仅能先获取一个随机数后。利用一个计数器,对Set进行循环,当计数器等于随机数时返回当前元素,对于Map的处理也类似。 不知有没有更 阅读全文
摘要:
不能。可以用sorted set,把要过期的member和key的信息放在sorted set的member里,把过期时间放在score中。跑个任务用zrangebyscore遍历就行了。用sorted set好处是只需要遍历过期的member,不用扫描整个过期member集合。 阅读全文
摘要:
Java中我们经常要做一些判断,而对于判断的话,用的最多的便是“>”、“==”、“<”的比较,这里我们进行一个Long类型数据和long类型数据的比较大小的讲解。Java中Long和long的区别Java的数据类型分为两种:1、基本类型:byte(8),short(16),int(32),long( 阅读全文
摘要:
今天写代码发现发现本地程序是正常的,但是发送到测试环境就不正常了,本着对数据的怀疑态度链接了测试数据库,调试程序发现,确实是数据问题,然后数据出现在什么地方呢?才发现是在判断用户所属的teamGroupId和当前用户teamGroupId相等 时出现了问题,于是测试和验证了一下Long 1.基本类型 阅读全文
摘要:
Redis Zrevrank 命令返回有序集中成员的排名。其中有序集成员按分数值递减(从大到小)排序。 排名以 0 为底,也就是说, 分数值最大的成员排名为 0 。 使用 ZRANK 命令可以获得成员按分数值递增(从小到大)排列的排名。 语法 redis Zrevrank 命令基本语法如下: red 阅读全文
摘要:
本文对redis的过期处理机制做个简单的概述,让大家有个基本的认识。Redis中有个设置时间过期的功能,即对存储在redis数据库中的值可以设置一个过期时间。作为一个缓存数据库,这是非常实用的。如我们一般项目中的token或者一些登录信息,尤其是短信验证码都是有时间限制的,按照传统的数据库处理方式, 阅读全文