写在前面的话

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

简介

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. ASP.NET Core去掉HTTPS配置和SSL证书

    如果你的项目一不小心配置了https 右击项目=>属性=>调试=>启用SSL=>选择去掉 测试

  2. 关于 RuntimeBinderException 异常

    Microsoft.CSharp.RuntimeBinder.RuntimeBinderException的异常一般来自于两种: 第一种情况: Predefined type 'Microsoft.C ...

  3. Redis 主从复制技术原理

    基于前面介绍的 Redis 内容,Redis 只能作为一个单机内存数据库,一旦服务器宕机即不能提供服务,即便能通过持久化策略重启恢复数据,往往也做不到百分之百还原.再一个就是,单机的 Redis 需要 ...

  4. windows10 64位 安装mysql服务端 并使用navicat客户端链接 掉的一堆坑

    1.目的 安装mysql服务端 并使用navicat客户端链接 2.过程 1)下载mysql服务端 下载过程(参考https://blog.csdn.net/youxianzide/article/d ...

  5. 如何设置mysql远程访问

    如何设置mysql远程访问 Mysql默认是不可以通过远程机器访问的,通过下面的配置可以开启远程访问 在MySQL Server端: 执行mysql 命令进入mysql 命令模式, mysql> ...

  6. 使用PyTorch进行迁移学习

    概述 迁移学习可以改变你建立机器学习和深度学习模型的方式 了解如何使用PyTorch进行迁移学习,以及如何将其与使用预训练的模型联系起来 我们将使用真实世界的数据集,并比较使用卷积神经网络(CNNs) ...

  7. TensorBoard中HISTOGRAMS和DISTRIBUTIONS图形的含义

    前言 之前我都是用TensorBoard记录训练过程中的Loss.mAP等标量,很容易就知道TensorBoard里的SCALARS(标量)(其中横纵轴的含义.Smoothing等). 最近在尝试模型 ...

  8. (线段树 -星星等级)Stars POJ - 2352

    题意: 给出n个星星的坐标 x,y ,当存在其他星星的坐标x1,y1满足x>=x1&&y>=y1时 这个星星的等级就加1. 注意: 题中给的数据是有规律的 ,y是逐渐增加的 ...

  9. 安装arcgis server时提示“应用程序无法启动,因为应用程序......或使用命令行sxstrace.exe”

    说一下这个原因:有几个条件不满足会产生这样的问题: 1.软件的发布是不需要安装的,直接在vs里编译好release版就发布了,而发布的时候如果缺少一些库文件,就会产生这样的问题.      一版都是目 ...

  10. RPC框架实现(一) Protobuf的rpc实现

    概述 RPC框架是云端服务基础框架之一,负责云端服务模块之间的项目调用,类似于本地的函数调用一样方便.常见的RPC框架配带的功能有: 编解码协议.比如protobuf.thrift等等. 服务发现.指 ...