1 set注意事项:
set 命令权限很大,如果健已经存在,不管对应值是什么类型,
set 命令都会把对应的值转成string类型并赋值 而讲原来的value数据覆盖掉
2 sort对集合排序
sort命令可以对列表类型,集合类型和有序集合类型键进行排序。排序的时候会把集合中的数据转变为double类型在进行排序
sort key [desc]
by 参考键(参考键可以是字符串类型或者是hash类型的某个字段,hash类型的格式为:键名->字段名)
如果参考键中不带*号则不排序
如果某个元素的参考键不存在,则默认参考键的值为0
扩展 get参数
get参数的规则和by参数的规则一样
get # (返回元素本身的值)
扩展 store参数
使用store 参数可以把sort的排序结果保存到指定的键中
性能优化
1:尽可能减少待排序键中元素的数量
2:使用limit参数只获取需要的数据
3:如果要排序的数据数量很大,尽可能使用store参数将结果缓存。
lpush mylist 1 3 2
sort mylist 正序排列 排序后仅仅将排序结果输出 原mylist数据依旧是1 3 2
sort mylist desc 倒序排列
sort mylist limit 0 2 选择排序后的前两个
sort mylist store resultlist 将排序后的结果存储在resultlist中
sort mylist alpha 根据字典顺序来排序 不需要转变成为double类型 适合于字符串类型
测试数据
lpush sortbylist 2 1 3 编号 2 1 3 三个人
set itemscore:1 50 编号1得分50
set itemscore:2 100 编号2得分100
set itemscore:3 -10 编号3得分-10
sort sortbylist by itemscore:* desc ????表示将sortbylist的数据放在*内后 以itemscore:*作为Key来对对应的value(分数)进行排序
3
1
2
lpush sortbylist 4
set itemscore:4 50
sort sortbylist by itemscore:* desc
lpush sortbylist 5
sort sortbylist by itemscore:* desc
lpush tag:posts 1 2 3 4 给文章排序
hset post:1 time 1352619200 文章1最后修改时间
hset post:2 time 1352619600 文章2最后修改时间
hset post:3 time 1352620100 文章3最后修改时间
hset post:4 time 1352620000 文章4最后修改时间
sort posts by post:*->time 针对每篇文章排序 后输出排序后的文章ID
hset post:1 title one 添加文章1标题
hset post:2 title two 添加文章2标题
hset post:3 title three 添加文章3标题
hset post:4 title four 添加文章4标题
分享到:
相关推荐
对Java集合中的某个字段按照中文拼音排序可以使用多种方法,本文将介绍两种常见的方法。 方法一:使用Comparable接口 在Java中,我们可以使用Comparable接口来实现自定义排序。例如,我们可以创建一个Record类,...
- `SORT` 命令对列表或集合类型的键进行排序。 - `TTL` 和 `PTTL` 命令用于获取键的剩余生存时间。 - `TYPE` 命令返回键所关联值的类型。 - `SCAN` 命令用于迭代当前数据库中的键。 ### 字符串(String) 字符串是...
此外,`System.Linq`命名空间中的`Enumerable.OrderBy()`和`ThenBy()`方法也可以用来对`IList<T>`进行排序,但请注意,这些方法返回的是一个新的`IOrderedEnumerable<T>`,而不是原地排序。如果需要修改原始列表,...
例如,可以使用`list.stream().sorted().collect(Collectors.toList())`对`List`进行排序,或者`set.stream().sorted(comparator).collect(Collectors.toSet())`对`Set`进行排序。 在处理大型数据集时,可以考虑...
- 使用`Collections.sort`方法或列表的`sort`方法进行排序,传入一个比较器`Comparator`实现自定义排序规则。 - 按照年龄从大到小排序。 **注意事项:** - 确保比较器实现正确,以便按照正确的顺序排序。 - 可以...
排序集合(SortSet) - **功能**:对集合中的元素进行排序。 - **实现**:可以采用多种排序算法,如冒泡排序、选择排序等。 #### 4. 显示集合(DisplaySet) - **功能**:打印集合中的所有元素。 - **实现**:遍历集合...
值得注意的是,`Collections.sort()`方法只适用于实现了`List`接口的集合,而对于其他类型的集合,例如`Set`,则需要其他方法来实现排序,例如转换为`List`后再排序,或者直接使用`TreeSet`等有序集合。 总结来说,...
14. **SORT**: 对列表、集合或有序集合进行排序,`SORT list [by pattern] [limit offset count] [get pattern*] [asc|desc] [alpha]`。 15. **BLPOP/BRPOP**: 阻塞式列表弹出,从列表左端或右端取出元素,当列表为...
- **Collections.sort()**:对列表进行排序,支持自定义比较规则。 - **Arrays.sort()**:对数组进行排序,也支持自定义比较规则。 #### 六、注意事项 - 在使用集合类时,应考虑集合的特点和应用场景选择合适的...
1. Array.Sort():这是C#中最常用的排序方法,它使用了快速排序、插入排序和堆排序的混合策略,对小数组采用插入排序,时间复杂度为O(n log n)。 ```csharp int[] arr = { 9, 7, 5, 3, 1 }; Array.Sort(arr); ...
注意,`set_union`要求输入的序列必须已经排序,如果输入的序列未排序,可以先使用`sort`函数进行排序。 除了`set_union`,C++ STL还提供了其他集合操作相关的函数,如`set_intersection`(求交集)、`set_...
同时,`Collections`工具类提供了许多静态方法,可以对集合进行操作,如反转、填充、排序等。 此外,`List`接口中的`add(E e)`、`remove(Object o)`、`get(int index)`等方法以及`Set`接口中的`add(E e)`、`remove...
- **排序**:对于可排序的集合(如List),可以使用Sort方法进行排序。对于自定义排序,可以提供比较器(IComparer)。 - **合并**:使用Concat或Union方法合并两个集合,去重则使用Distinct方法。 - **过滤**:LINQ...
`sort(List<T> list)`方法使用自然顺序对指定列表进行排序,如果列表元素是自定义类型,那么需要实现Comparable接口来定义排序规则。如果需要自定义排序顺序,可以使用`Collections.sort(List<T> list, Comparator...
3. 算法:集合框架还提供了一些用于操作集合的算法,如排序(`Collections.sort()`)、查找(`Collections.indexOfSubList()`)等,这些算法可以方便地在不同类型的集合上工作。 4. 接口与实现:Java集合框架是基于...
在Windows Presentation Foundation (WPF) 中,ListView是一个强大的控件,用于显示一组可滚动的数据集。...不过,需要注意的是,对于大数据量的列表,为了提高性能,可能需要考虑异步排序或使用虚拟化技术。
2. **排序**:使用`Collections.sort()`方法对上一步创建的列表进行排序。这里通过匿名内部类的方式自定义了一个Comparator,比较器的compare方法用来比较两个映射关系的值。由于我们需要降序排列,因此比较的结果...
在Java编程中,Map接口表示一组键值对的集合,其中每个键都是唯一的。然而,标准的Map实现如HashMap、TreeMap等,并不支持按值排序。如果你需要一个按值排序的Map,需要采取一些额外的策略。这里我们将探讨如何在...
Java提供了一个强大的工具类 Collections,它提供了sort方法来对List排序。同时,我们还需要使用Comparator接口来定义排序规则。在这个例子中,我们使用匿名内部类来实现Comparator接口: ```java Collections.sort...