写在前面的话

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

简介

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. 2000字读懂Java的来源

    title: Java的来源 blog: CSDN data: Java学习路线及视频 1.Java市场 截至2020-03: Java的市场份额为17.78% 2. Java语言简介 是SUN(St ...

  2. [ctfhub]SQL注入

    今天在ctfhub整理了几个sql注入的解题过程,还算是比较详细的. 知识点都是比较常见的:每个题大致涉及的知识点用一张表格解释 !注:下方的 information_schema.xxxxxxxxx ...

  3. [剑指offer]3.数组中的重复数字

    3.数组中的重复数字 题目 找出数组中重复的数字. 在一个长度为 n 的数组 nums 里的所有数字都在 0-n-1 的范围内.数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了 ...

  4. 给 EF Core 查询增加 With NoLock

    给 EF Core 查询增加 With NoLock Intro EF Core 在 3.x 版本中增加了 Interceptor,使得我们可以在发生低级别数据库操作时作为 EF Core 正常运行的 ...

  5. iOS 静态:动态 Pod

    一.静态和动态 在项目中使用 pod 实现模块化,对于子模块和第三类库的导入方式存在两种:静态库.动态库. 当在 podfile 中指定 use_frameworks! 时,子模块和第三方类库将被打包 ...

  6. nginx代理图片上传以及访问

    nginx代理图片上传 首先需要利用nginx代理图片访问参考 https://www.cnblogs.com/TJ21/p/12609017.html 编写接受文件的controller @Post ...

  7. 怎么处理使用UINavigation(导航控制器时) UIScrollView及其子类UITableView、UICollectionView可能出现的向下偏移64Px或者顶部对齐等问题

    前言           近期在做项目时遇到了好几起由于自动偏移或则没有自动偏移而导致的界面布局问题,尤其是在昨晚新版本赶上IOS9系统升级的时候,刚升级完了后就发现项目里面很多使用UINavgati ...

  8. vulnhub~incllusiveness

    这个机子相对简单一点,但是也是从中发现了自己不少问题 技能一:  nmap 扫描发现了21,22 ,80三个端口,并且ftp服务允许匿名登录,在pub目录下面有writeable权限,这就好办了.我以 ...

  9. FarmCraft --(树形DP)

    题目描述 In a village called Byteville, there are houses connected with N-1 roads. For each pair of hous ...

  10. pywinauto之PC端windows自动化测试

    pywinauto是一个用纯Python编写的GUI自动化库,并为Windows GUI精心开发.最简单的是,它允许您将鼠标和键盘操作发送到Windows和Linux上的对话框和控件,而到目前为止,仅 ...