3、使用ListOperations操作redis(List列表)
文章来源:https://www.cnblogs.com/shiguotao-com/p/10560354.html
| 方法 | c参数 | s说明 | |
List<V> range(K key, long start, long end); |
K key:集合key |
获取集合中指定范围的元素 | |
void trim(K key, long start, long end); |
K key:集合key |
修剪集合中指定范围的元素 这里的修剪的意思就是把start到end之间的集合数据保留,其余的全部删除 |
|
Long size(K key); |
K key:集合key |
获取集合的长度 | |
Long leftPush(K key, V value); |
K key:集合key |
向集合中添加一个元素。从左到右 | |
Long leftPushAll(K key, V... values); |
K key:集合key |
向集合中添加一个或多个元素,从左到右 | |
Long leftPushAll(K key, Collection<V> values); |
K key:集合key |
向集合中添加一个或多个元素,元素以集合的方式存在,从左到右 | |
Long leftPushIfPresent(K key, V value); |
K key:集合key V |
仅当集合存在时,向集合中添加一个元素,从左到右 | |
Long leftPush(K key, V pivot, V value); |
K key:集合key |
向集合中添加一个元素,该元素添加在某一个已经存在的元素前边 pivot代表已经存在的元素,value代表新元素 如:[1,2,3] 这是当前集合中的所有元素,现在向这个集合中添加一个元素6 并且将6添加到2的前边,这时方法的参数 pivot则为2,value为6 注:搜索顺序是从左往右 |
|
Long rightPush(K key, V value); |
K key:集合key V |
向集合中他添加一个新元素,从右往左 | |
Long rightPushAll(K key, V... values); |
K key:集合key |
向集合中添加一个或多个新元素,从右往左 | |
Long rightPushAll(K key, Collection<V> values); |
K key:集合key |
向集合中添加一个或多个元素,元素以集合的方式存在,从右到左 | |
Long rightPushIfPresent(K key, V value); |
K key:集合key V |
仅当集合存在时,向集合中添加一个元素,从右到左 | |
Long rightPush(K key, V pivot, V value); |
K key:集合key |
向集合中添加一个元素,该元素添加在某一个已经存在的元素前边 pivot代表已经存在的元素,value代表新元素 如:[1,2,3] 这是当前集合中的所有元素,现在向这个集合中添加一个元素6 并且将6添加到2的前边,这时方法的参数 pivot则为2,value为6 注:搜索顺序是从右到左 |
|
void set(K key, long index, V value); |
K key:集合key |
向集合中指定索引下添加一个新元素,并覆盖当前集合中指定位置的值 | |
Long remove(K key, long count, Object value); |
K key:集合key |
删除集合中的值,因为list中允许重复数据存在,所以可能有多个相同的 元素存在同一个集合中,这是可用count参数选择性删除数量 |
|
V index(K key, long index); |
K key:集合key |
根据索引获取集合中的元素 | |
V leftPop(K key); |
K key:集合key |
删除集合中所有的元素,并返回集合总第一个元素,从左往右 | |
V leftPop(K key, long timeout, TimeUnit unit); |
K key:集合key |
删除集合中所有的元素,并返回集合总第一个元素;从左往右 注:以上一个方法,具体区别没有实际验证过,如果有涉及此处的大佬,欢迎评论区解答 |
|
V rightPop(K key); |
K key:集合key |
删除集合中所有的元素,并返回集合总最后一个元素,从右往左 | |
V rightPop(K key, long timeout, TimeUnit unit); |
K key:集合key |
删除集合中所有的元素,并返回集合总最后一个元素,从右往左 注:以上一个方法,具体区别没有实际验证过,如果有涉及此处的大佬,欢迎评论区解答 |
|
V rightPopAndLeftPush(K sourceKey, K destinationKey); |
K sourceKey:原集合key |
在原集合中删除最后一个元素,添加到目标几何中的头部(添加顺序是从左往右) | |
V rightPopAndLeftPush(K sourceKey, K destinationKey, long timeout, TimeUnit unit); |
K sourceKey:原集合key |
在原集合中删除最后一个元素,添加到目标几何中的头部(添加顺序是从左往右) 注:以上一个方法,具体区别没有实际验证过,如果有涉及此处的大佬,欢迎评论区解答 |
3、使用ListOperations操作redis(List列表)的更多相关文章
- 使用ListOperations操作redis
使用ListOperations对象操作redis list: 方法 c参数 s说明 List<V> range(K key, long start, long end); K key ...
- C#操作Redis List 列表
/// <summary> /// Redis 列表 /// </summary> public static void Redis_List() { RedisClient ...
- Python操作redis系列之 列表(list) (四)
# -*- coding: utf- -*- import redis r =redis.Redis(host=,password="ZBHRwlb1608") 1. Lpush ...
- Python操作redis系列之 列表(list) (五)(转)
# -*- coding: utf-8 -*- import redis r =redis.Redis(host=") 1. Lpush 命令将一个或多个值插入到列表头部. 如果 key 不 ...
- python对redis的常用操作 上 (对列表、字符串、散列结构操作)
这里的一切讨论均基于python的redis-py库. 安装使用: pip install redis 然后去获取一个redis客户端: redis_conn = redis.Redis(host=R ...
- Python操作redis系列之 列表(list) (五)
# -*- coding: utf- -*- import redis r =redis.Redis(host=,password=") 1. Lpush 命令将一个或多个值插入到列表头部. ...
- 第二百九十九节,python操作redis缓存-SortSet有序集合类型,可以理解为有序列表
python操作redis缓存-SortSet有序集合类型,可以理解为有序列表 有序集合,在集合的基础上,为每元素排序:元素的排序需要根据另外一个值来进行比较,所以,对于有序集合,每一个元素有两个值, ...
- 第二百九十八节,python操作redis缓存-Set集合类型,可以理解为不能有重复元素的列表
python操作redis缓存-Set集合类型,可以理解为不能有重复元素的列表 sadd(name,values)name对应的集合中添加元素 #!/usr/bin/env python # -*- ...
- 第二百九十七节,python操作redis缓存-List类型,可以理解为列表
python操作redis缓存-List类型,可以理解为列表,是可以有重复元素的列表 List操作,redis中的List在在内存中按照一个name对应一个List来存储.如图: lpush(name ...
随机推荐
- 洛谷3571 POI2014 SUP-Supercomputer (斜率优化)
一道神仙好题. 首先看到有多组\(k\),第一反应就是离线. 考虑贪心. 我们每次一定是尽量选择有儿子的节点.以便于我们下一次扩展. 但是对于一个\(k\),每次贪心的复杂度是\(O(n)\) 总复杂 ...
- fastjson反序列化-JdbcRowSetImpl利用链
fastjson反序列化-JdbcRowSetImpl利用链 JdbcRowSetImpl利用链 fastjson反序列化JdbcRowSetImpl - Afant1 - 博客园 (cnblogs. ...
- Bootstrap移动端导航(简易)
效果 在线查看 代码少,都在HTML里 <!DOCTYPE html> <html lang="en"> <head> <meta cha ...
- UnboundLocalError: local variable 'range' referenced before assignment
1. 报错信息 UnboundLocalError: local variable 'range' referenced before assignment 2. 代码 class Car(): &q ...
- SharkCTF2021 Babyhttp && get_or_lose
两道web. Babyhttp: 直接dirsearch,发现同时存在git和bak泄露:经验证,git的没用. 访问index.php.bak, 下载源码: 抓包,改包,发包即可. get_or_l ...
- 【数据结构与算法Python版学习笔记】查找与排序——散列、散列函数、区块链
散列 Hasing 前言 如果数据项之间是按照大小排好序的话,就可以利用二分查找来降低算法复杂度. 现在我们进一步来构造一个新的数据结构, 能使得查找算法的复杂度降到O(1), 这种概念称为" ...
- LeetCode:动态规划
动态规划 动态规划永远的神 这部分主要是学习了 labuladong 公众号中对于动态规划的讲解 刷了些 leetcode 题,在此做一些记录,不然没几天就忘光光了 题目 这部分内容直接上题目了,解题 ...
- AndroidStudio中debug.keystore文件不存在解决办法
Android项目丢失了debug.keystore,直接重新生存一个key. 在cmd下,进入C:\Users\Administrator\.android目录执行命令如下: keytool -g ...
- Web实时通信,SignalR真香,不用愁了
前言 对于B/S模式的项目,基础的场景都是客户端发起请求,服务端返回响应结果就结束了一次连接:但在很多实际应用场景中,这种简单的请求和响应模式就显得很吃力,比如消息通知.监控看板信息自动刷新等实时通信 ...
- Ubuntu 安装 mysql 报错 "update-alternatives: 错误: 候选项路径 /etc/mysql/mysql.cnf 不存在"
解决方法: sudo cp /etc/mysql/my.cnf /etc/mysql/mysql.cnf 偷梁换柱-! 如果想更新mysql的源方法如下: wget http://dev.mysql. ...