接上篇博文《java-redis字符类数据操作示例(一)》,redis连接管理类的代码请跳转查看。

一、列表类型缓存测试类

public class ListTest {
/**
* 主测试方案
*/
@Test
public void test() {
RedisUtil.instance.run(conn -> oper(conn));
Assert.assertTrue(true);
}
/**
* 测试用的key
*/
private final String _key = "simm-list";
/**
* 字符串操作
*
* @param conn
*/
private void oper(ShardedJedis conn) {
System.out.println(MessageFormat.format("key[{0}]存在:{1} ", _key,conn.exists(_key)));
//列表数据初始化
String[] arr= "A,B,C,D,E,F,G".split(",");
conn.lpush(_key, arr);
conn.rpush(_key, arr);
print(conn);
//-- 列表元素删除方法 ------
//1.直接移除
conn.lrem(_key, 1, "G");//从左边数,要删除的元素个数,1:删除从左边找到的第一个数据。
print(conn);
//2.出栈
String val = conn.lpop(_key);
System.out.println(MessageFormat.format("lpop:{0} ", val));
print(conn);
//3.排除
conn.ltrim(_key, 1, 2);//trim方法在这里相当于过滤,符合条件的留下,其他的元素都删除
print(conn);
//-- 列表元素的修改 -----
conn.lset(_key, 0, "first");
print(conn);
//conn.del(_key); //删除key值
conn.expire(_key, 1); //设置改key值1s后过期,过期后redis自动清理该缓存
System.out.println(MessageFormat.format("key[{0}]存在:{1} ", _key,conn.exists(_key)));
}
private void print(ShardedJedis conn){
System.out.print(MessageFormat.format("{0}元素输出,长度[{1}]:", _key,conn.llen(_key)));
List<String> list = conn.lrange(_key, 0, -1);
for (String str : list) {
System.out.print(MessageFormat.format("{0} ", str));
}
System.out.println();
}
}

二、结果输出

  

java-redis列表数据操作示例(二)的更多相关文章

  1. java-redis集合数据操作示例(三)

    redis系列博文,redis连接管理类的代码请跳转查看<java-redis字符类数据操作示例(一)>. 一.集合类型缓存测试类 public class SetTest { /** * ...

  2. 安装 rabbitmq ,通过生成器获取redis列表数据 与 Celery 分布式异步队列

    一.安装rabbitmq  @全体成员 超简易安装rabbitmq文档 1.安装配置epel源rpm -ivh http://dl.fedoraproject.org/pub/epel/6/i386/ ...

  3. redis之数据操作详解

    redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted set ...

  4. redis常见数据操作

    redis中有5种常见的数据类型,针对这5种数据类型有着相应的数据操作. 1.String(键值对为String - String) set k1 v1 get k1 getset k1 v1 - h ...

  5. 用Jedis调用Lua脚本来完成redis的数据操作

    1.先完成一个简单的set/get操作 package com.example.HnadleTaskQueue; import redis.clients.jedis.Jedis; import ja ...

  6. java方式连接数据操作数据库

    package com.bdqn.dao.impl; import java.io.IOException;import java.io.InputStream;import java.io.Seri ...

  7. Python股票分析系列——基础股票数据操作(二).p4

    该系列视频已经搬运至bilibili: 点击查看 欢迎来到Python for Finance教程系列的第4部分.在本教程中,我们将基于Adj Close列创建烛台/ OHLC图,这将允许我介绍重新采 ...

  8. jQuery实现表单动态添加与删除数据操作示例

    <!DOCTYPE html> <html lang="en"> <head>   <meta charset="UTF-8&q ...

  9. Redis的数据类型操作(二)

    1.String:key-value(做缓存) Redis中所有的数据都是字符串.命令不区分大小写,key是区分大小写的.Redis是单线程的.Redis中不适合保存内容大的数据. get.set.i ...

随机推荐

  1. CSS3总结学习(一):CSS3用户界面

    在CSS3中,新的用户界面属性有很多,本文重点介绍resize,box-sizing,offset. 浏览器支持,如下图,图片源于W3school 1.CSS Resizing 在css3,resiz ...

  2. MongDB .Net工具库MongoRepository的简单使用

    MongDB .Net工具库MongoRepository的简单使用 最近研究了一下MongoDB数据库,并使用了开源的在.net环境下的一个类库,Mongo仓库.对于数据的一些简单的操作非常好用,特 ...

  3. mysql myisam转innodb的2种方法

      mysql myisam转innodb的2种方法 mysql中的myisam和innodb有什么区别.一个好比便利店,一个好比大型购物中心,他们是为了适应不同的场合而存在的.当流量比较小,我们可以 ...

  4. Linux中的shell到底是什么?

    (曾经有一段充足的时间放在我面前,可以学linux,而我没有珍惜,等我失去的时候我才后悔莫及,人世间最痛苦的事莫过于此.) 最近,要将项目代码部署到linux环境下运行,但是对linux毫无基础,之前 ...

  5. Matlab产生TestBeach所需要的波形数据

    在用vivado仿真的时候,很多情况下需要自己产生波形来代替AD采样波形.以前的做法都是用DDS内部产生所需要的波形来模仿外部输入,后来发现这种做法不仅麻烦,而且不易修改,对仿真很不友好.于是改用ma ...

  6. 【转】高精度GPS测量中框架基准的统一

    一.地面基准点的坐标基准转换 一般情况下,我们可以从IERS或IGS等机构获取最新的站坐标和速度场,这些站坐标和速度场是在某一特定基准框架和历元下的坐标值,若要提供高精度GPS网的分析使用,还需要作框 ...

  7. NetCloud——一个网易云音乐评论抓取和分析的Python库

    在17的四月份,我曾经写了一篇关于网易云音乐爬虫的文章,还写了一篇关于评论数据可视化的文章.在这大半年的时间里,有时会有一些朋友给我发私信询问一些关于代码方面的问题.所以我最近抽空干脆将原来的代码整理 ...

  8. 开发JQuery插件(转)

    教你开发jQuery插件(转)   阅读目录 基本方法 支持链式调用 让插件接收参数 面向对象的插件开发 关于命名空间 关于变量定义及命名 压缩的好处 工具 GitHub Service Hook 原 ...

  9. maven将本地jar包导入本地仓库

    从maven中央仓库下载下来的jar包手动导入本地库,如下图 以下其中maven的dependency <dependency> <groupId>org.molgenis&l ...

  10. Python随笔,day1

    #python中不存在单个字符的运算,只有字符串函数 >>> s="www.google.com" >>> s 'www.google.com' ...