写在前面的话

  本篇笔记写在笔者刚工作时。如有问题,请指教。

简介

list是链表,redis list的应用场景很多,也是Redis 最重要的数据结构之一,比如微博的关注列表,粉丝列表,消息列表等功能都可以用redis的list结构实现。redis的实现可以为一个双向链表,既可以支持反向查找和遍历,更方便操作。另外lrange命令,就是可以从某个元素开始读取多少个元素,可以实现分页,基于redis实现高性能分页。
 

操作

#lpush key value  给定key list集合左侧添加元素
lpush #rpush key value 给定key list集合右侧添加元素
rpush #len key 给定key list集合的元素数量
llen #lrange key start stop 给定元素key list结合 [start,stop]位置的元素
[127.0.0.1:> lrange
) ""
) ""
) "" #lpop key 给定元素key list 左出栈一个元素,集合少一个元素
lpop #rpop key 给定元素key list 右出栈一个元素,集合少一个元素
rpop #lrem key count value 给定key list 集合 删除个数count元素,值为value
lrem #删除1992链表中值为123的元素 #ltrim key start stop #删除 给定key 链表的下标 [start,stop]元素
ltrim #lset key index value # 修改 给定key list 集合 下标为index的值
lset #sort key asc | desc #给定key list 排序 默认 asc
sort
 

list实际使用场景-JAVA 存储公司组织结构

package com.restart.redis;

import java.io.Serializable;
import java.util.Random;
import com.alibaba.fastjson.JSONObject;
import redis.clients.jedis.Jedis; public class RedisApi { public static Jedis getJedis() {
Jedis jedis = new Jedis("127.0.0.1",);
return jedis;
} public static void listOp() {
Jedis jedis = getJedis();
String companyId = "cpy123";
for (int i = ; i < ; i++) {
Department department = new Department(i+"","depart" + i);
jedis.lpush(companyId, JSONObject.toJSONString(department));
int random = new Random().nextInt();
for(int k = ;k < random ;k++) {
Person person = new Person("aust"+k,,+k);
jedis.lpush(i+"", JSONObject.toJSONString(person));
}
}
} public static void main(String[] args) {
listOp();
} } class Person implements Serializable{ private static final long serialVersionUID = 1L; private String name; private int age; private int sex; public Person() {} public Person(String name, int age, int sex) {
super();
this.name = name;
this.age = age;
this.sex = sex;
} @Override
public String toString() {
return "Person [name=" + name + ", age=" + age + ", sex=" + sex + "]";
}
} class Department{ private String id; private String name;
public Department() {}
}

省略了get,set操作。

 
 
 
 
 
 

redis list 基本操作的更多相关文章

  1. java对redis的基本操作,ZZ

    java对redis的基本操作 http://www.cnblogs.com/edisonfeng/p/3571870.html

  2. python下redis的基本操作:

    1. 基本操作: >>> import redis >>> print redis.__file__ /usr/local/lib/python2.7/dist-p ...

  3. Redis 的基本操作、Key的操作及命名规范

    Redis基本操作 查看数据的状态 pong redis 给我们返回 PONG,表示 redis 服务 运行正常 redis 默认用 使用 16 个 库 • Redis 默认使用 16 个库,从 0 ...

  4. java对redis的基本操作

    一.server端安装 1.下载 https://github.com/MSOpenTech/redis 可看到当前可下载版本:redis2.6

  5. java对redis的基本操作(转)

    本文转自:http://www.cnblogs.com/edisonfeng/p/3571870.html 2.主要类 1)功能类 package com.redis; import java.uti ...

  6. Redis缓存 ava-Jedis操作Redis,基本操作以及 实现对象保存

    源代码下载: http://download.csdn.net/detail/jiangtao_st/7623113 1.Maven配置 <dependency> <groupId& ...

  7. redis - java 基本操作

    import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; im ...

  8. Redis缓存系统(一)Java-Jedis操作Redis,基本操作以及 实现对象保存

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/jiangtao_st/article/details/37699473 源码下载: http://d ...

  9. java 连接redis 以及基本操作

    一.首先下载安装redis 二.项目搭建 1.搭建一个maven 工程 2. 在pom.xml文件的dependencies节点下增加如下内容: <!-- resis --> <de ...

  10. java对redis的基本操作(初识)

    一.server端安装 1.下载 https://github.com/MSOpenTech/redis 可看到当前可下载版本:redis2.6

随机推荐

  1. 大多数人不知道的表格其他写法的onmouseover效果

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http ...

  2. Linux基本操作 ------ 文件处理命令

    显示目录文件 ls //显示当前目录下文件 ls /home //显示home文件夹下文件 ls -a //显示当前目录下所有文件,包括隐藏文件 ls -l //显示当前目录下文件的详细信息 ls - ...

  3. [树的深度] Party

    Party A company has n employees numbered from 1 to n. Each employee either has no immediate manager ...

  4. [二分] Codefoces Anton and Making Potions

    Anton and Making Potions time limit per test 4 seconds memory limit per test 256 megabytes input sta ...

  5. codeforces 1236 A. Bad Ugly Numbers

    A. Bad Ugly Numbers time limit per test 1 second memory limit per test 256 megabytes input standard ...

  6. Transformers 简介(下)

    作者|huggingface 编译|VK 来源|Github Transformers是TensorFlow 2.0和PyTorch的最新自然语言处理库 Transformers(以前称为pytorc ...

  7. 【Pytest05】全网最全最新的Pytest框架之用例分组执行

    一.Fixture用例分组运行常用于冒烟测试,分模块运行等 pytest.ini配置文件中增加分组参数markers来实现用例分组,如: markers = g1:组一 smoke:冒烟测试 pyte ...

  8. iOS 第三方库

    网络 AFNetworking HTTP网络库 Reachability 网络监测 UI.布局 Masonry AutoLayout SnapKit AutoLayout Swift TOWebVie ...

  9. java web综合案例

    1.采用的技术: bootstrap+jsp+servlet+三层架构(servlet,service,dao)+mysql 注意:mysql使用的是5.5版本,使用高版本会有很多问题.可以将5.5版 ...

  10. SWUST OJ1065 无向图的连通分量计算

    无向图的连通分量计算 5000(ms) 10000(kb) 2555 / 5521 假设无向图G采用邻接矩阵存储,编写一个算法求连通分量的个数. 输入 第一行为一个整数n,表示顶点的个数(顶点编号为0 ...