java-redis列表数据操作示例(二)
接上篇博文《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列表数据操作示例(二)的更多相关文章
- java-redis集合数据操作示例(三)
redis系列博文,redis连接管理类的代码请跳转查看<java-redis字符类数据操作示例(一)>. 一.集合类型缓存测试类 public class SetTest { /** * ...
- 安装 rabbitmq ,通过生成器获取redis列表数据 与 Celery 分布式异步队列
一.安装rabbitmq @全体成员 超简易安装rabbitmq文档 1.安装配置epel源rpm -ivh http://dl.fedoraproject.org/pub/epel/6/i386/ ...
- redis之数据操作详解
redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted set ...
- redis常见数据操作
redis中有5种常见的数据类型,针对这5种数据类型有着相应的数据操作. 1.String(键值对为String - String) set k1 v1 get k1 getset k1 v1 - h ...
- 用Jedis调用Lua脚本来完成redis的数据操作
1.先完成一个简单的set/get操作 package com.example.HnadleTaskQueue; import redis.clients.jedis.Jedis; import ja ...
- java方式连接数据操作数据库
package com.bdqn.dao.impl; import java.io.IOException;import java.io.InputStream;import java.io.Seri ...
- Python股票分析系列——基础股票数据操作(二).p4
该系列视频已经搬运至bilibili: 点击查看 欢迎来到Python for Finance教程系列的第4部分.在本教程中,我们将基于Adj Close列创建烛台/ OHLC图,这将允许我介绍重新采 ...
- jQuery实现表单动态添加与删除数据操作示例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&q ...
- Redis的数据类型操作(二)
1.String:key-value(做缓存) Redis中所有的数据都是字符串.命令不区分大小写,key是区分大小写的.Redis是单线程的.Redis中不适合保存内容大的数据. get.set.i ...
随机推荐
- Abp.NHibernate连接PostgreSQl数据库
Abp.NHibernate动态库连接PostgreSQl数据库 初次接触Abp框架,其框架中封装的操作各类数据的方法还是很好用的,本人还在进一步的学习当中,并将利用abp.NHibernate类库操 ...
- 【故障】MySQL主从同步故障-Slave_SQL_Running: No
转自:http://www.linuxidc.com/Linux/2014-02/96945.htm 故障现象:进入slave服务器,运行:mysql> show slave status\G ...
- Java进阶篇(六)——Swing程序设计(下)
三.布局管理器 Swing中,每个组件在容器中都有一个具体的位置和大小,在容器中摆放各自组件时很难判断其具体位置和大小,这里我们就要引入布局管理器了,它提供了基本的布局功能,可以有效的处理整个窗体的布 ...
- Linux指令--touch
原文出处:http://www.cnblogs.com/peida/archive/2012/10/30/2745714.html linux的touch命令不常用,一般在使用make的时候可能会用到 ...
- 流API--流的映射
很多时候,将一个流的元素映射到另外一个流很有帮助.映射操作最具代表的就是map()方法.实际编码中,我们会经常用到,所以这里专门整理一篇博客. 考虑如下情景,对于一个包含了姓名,电话,年龄等属性构成的 ...
- word中批量转换字母数字为Times New Roman
通常撰写论文时,英文与中文的格式会区分开,但是一个个修改会比较费时,可以通过替换功能实现.此处以word2003为例. 1.选择 编辑→替换 界面.在“查找内容”文本框中输入"[0-9a-z ...
- css 块状元素与行内元素(内联元素)的理解
块状元素: 它一般是其他元素的容器元素,可以容纳块状元素和行内元素,它默认是不会和其他元素同一行的,即相当于两个块状元素写一起是垂直布局的.最常用的是div和p 行内元素: 行内元素又称内联元素,它只 ...
- Nutch2.2.1在MyEclipse中的安装(window7环境)
在https://svn.apache.org/repos/asf/nutch/branches/branch-2.2.1/网址里面可以找到Nutch2.2.1版本的资源文件. 1. 在MyEclip ...
- virtualbox创建虚拟机及增加硬盘记录
创建虚拟机 jken01VBoxManage createvm --name "jken01" --basefolder /data/virtualDir/jken01 --reg ...
- xBIM 插入复制功能
目录 xBIM 应用与学习 (一) xBIM 应用与学习 (二) xBIM 基本的模型操作 xBIM 日志操作 XBIM 3D 墙壁案例 xBIM 格式之间转换 xBIM 使用Linq 来优化查询 x ...