深入浅出Redis04使用Redis数据库(lists类型)

一  lists类型及操作

List是一个链表结构,主要功能是push,pop,获取一个范围的所有值等等,操作中key理解为链表的名字。 Redis的list类型其实就是一个每个子元素都是sring类型的双向链表。我们可以通过push,pop操作从链表的头部或者尾部添加删除元素,这样 list既可以作为栈,有可以作为队列。

二 lists类型的使用

1. lpush

在key对应list的头部添加字符串。

redis 127.0.0.1:6379> lpush mylist1 world
(integer) 1
redis 127.0.0.1:6379> lpush mylist1 hello
(integer) 2
redis 127.0.0.1:6379> lrange mylist1 0 -1
1) "hello"
2) "world"

2. rpush

在key对应list的尾部添加字符串。

redis 127.0.0.1:6379> rpush mylist2 bbb(integer) 1redis 127.0.0.1:6379> rpush mylist2 aaa(integer) 2redis 127.0.0.1:6379> lrange mylist2 0 -11) "bbb"2) "aaa"

3. linsert

在key对应的list的特定位置前或后添加字符串。

redis 127.0.0.1:6379> rpush mylist3 world(integer) 1redis 127.0.0.1:6379> linsert mylist3 before world hello(integer) 2redis 127.0.0.1:6379> lrange mylist3 0 -11) "hello"2) "world"

4. lset

设置list中指定下标的元素值。

redis 127.0.0.1:6379> rpush mylist5 world
(integer) 1
redis 127.0.0.1:6379> lset mylist5 0 hello
OK
redis 127.0.0.1:6379> lrange mylist5 0 -1
1) "hello"

5 lrem

从key对应list中删除n个和value相同的元素。( n < 0 从未删除, n =0 全部删除)

redis 127.0.0.1:6379> rpush mylist6 hello
(integer) 1
redis 127.0.0.1:6379> rpush mylist6 hello
(integer) 2
redis 127.0.0.1:6379> lrem mylist6 1 hello
(integer) 1

6 ltrim

保留指定key 的范围内的数据。

redis 127.0.0.1:6379> rpush mylist8 one(integer) 1redis 127.0.0.1:6379> rpush mylist8 two(integer) 2redis 127.0.0.1:6379> ltrim mylist8 1 -1OKredis 127.0.0.1:6379> lrange mylist8 0 -11) "two"

7 lpop

从list的头部删除元素,并返回删除元素。

redis 127.0.0.1:6379> rpush mylist11 one(integer) 1redis 127.0.0.1:6379> rpush mylist11 two(integer) 2redis 127.0.0.1:6379> rpush mylist11 three(integer) 3redis 127.0.0.1:6379> lpop mylist11"one"redis 127.0.0.1:6379> lrange mylist11 0 -11) "two"2) "three"

8.rpoplpush

从第一个list的尾部移出元素并添加到第二个list的头部。

redis 127.0.0.1:6379> rpush mylist12 one
(integer) 1
redis 127.0.0.1:6379> rpush mylist12 two
(integer) 2
redis 127.0.0.1:6379> rpush mylist13 aaa
(integer) 1
redis 127.0.0.1:6379> rpush mylist13 bbb
(integer) 2
redis 127.0.0.1:6379> rpush mylist13 ccc
(integer) 3
redis 127.0.0.1:6379> rpoplpush mylist12 mylist13
"two"
redis 127.0.0.1:6379> lrange mylist12 0 -1
1) "one"
redis 127.0.0.1:6379> lrange mylist13 0 -1
1) "two"
2) "aaa"
3) "bbb"
4) "ccc"

9 lindex

返回名称为key的list中index位置的元素。

redis 127.0.0.1:6379> lrange mylist13 0 -11) "two"2) "aaa"3) "bbb"4) "ccc"redis 127.0.0.1:6379> lindex mylist13 0"two"redis 127.0.0.1:6379> lindex mylist13 1"aaa"redis 127.0.0.1:6379> lindex mylist13 2"bbb"

10 llen

返回key对应list的长度。

redis 127.0.0.1:6379> llen mylist13(integer) 4redis 127.0.0.1:6379> lrange mylist13 0 -11) "two"2) "aaa"3) "bbb"4) "ccc"
时间: 2024-09-30 19:02:58

深入浅出Redis04使用Redis数据库(lists类型)的相关文章

深入浅出Redis02 使用Redis数据库(String类型)

一 String类型 首先使用启动服务器进程 : redis-server.exe 1. Set 设置Key对应的值为String 类型的value. 例子:向 Redis数据库中插入一条数据类型为String 的记录. 在客户端输入命令: C:\software\redis\64bit>redis-cli.exe -h 127.0.0.1 -p 6379 redis 127.0.0.1:6379> set foo test OK redis 127.0.0.1:6379> get fo

深入浅出Redis03使用Redis数据库(hashes类型)

一 hashes类型及操作 Redis hash是一个string类型的field和value的映射表.它的添加,删除操作都是0(1)(平均).hash特别适合用于存储对象,相较于对将对象的每个字段存成单个string类型.将一个对象存储在hash类型会占用更少的内存,并且可以更方便的存取整个对象. 1  hset 设置hash field 为指定值,如果key不存在,则先创建. redis 127.0.0.1:6379> hset user:001 name lisi(integer) 0re

redis的lists类型

List是一个链表结构 , 主要功能是push . pop .获取一个范围的所有值等等 , 操作中key理解为链表的名字 . redis 的 list类型其实就是一个每个子元素都是string类型的双向链表 . 我们可以通过push .pop 操作从链表的头部或者尾部添加删除元素 , 这样list既可以作为栈 , 又可以作为队列 . lpush : 从头部把数据压栈 . lpush  list1 "fcz" lpush  list1 "zxy" rpush : 从尾

redis数据库list类型各方法封装成类

1 import redis 2 3 4 class MyRedisList(object): 5 def __init__(self, key): 6 self.key = key 7 self.connection = redis.StrictRedis(db=0, decode_responses=True) 8 9 def add(self, direction="r", *values): # 增加数据(lpush rpush) 10 if direction == &quo

03_NoSQL数据库之Redis数据库:list类型

 lists类型及操作 List是一个链表结构,主要功能室push,pop.获取一个范围的所有值等等,操作中key理解为链表的名字.Redis的list类型其实就是一个每个元素都是string类型的双向链表.我们可以通过push.pop操作从链表的头部或者尾部添加删除元素,这样list既可以作为栈,又可以作为队列. lpush:在key对应list的头部添加字符串元素. rpush:在key对应的list的尾部添加字符串元素. linsert:在key对应list的特定位置前或后添加字符串.

Redis数据库(list类型)

list是一个链表结构,主要功能是push,pop,获取一个范围内所有值等等,操作中key可以理解为链表的名字. Redis的list类型实际上就是每个子元素都是string类型的双向链表,我们可以通过push,pop命令操作从链表 的头部或者尾部添加删除元素,这样list既可以作为栈,又可以作为队列. list常见的操作: (1)lpush和rpush lpush表示在key对应的list的头部添加字符串元素.例如:lpush list Hello rpush表示在key对应的list的尾部添

linux下redis数据库的简单使用

一.redis简介 Redis是一个key-value存储系统.和 Memcached类似,但是解决了断电后数据完全丢失的情况,而且她支持更多无化的value类型,除了和string外,还支持lists(链表). sets(集合)和zsets(有序集合)几种数据类型.这些数据类型都支持push/pop.add/remove及取交集并集和差集及更丰富的操作, 而且这些操作都是原子性的. 二.redis的安装 首先从在官网下载redis源码安装包,下载地址:https://github.com/an

Redis 数据库入门指南

Redis 是一个开源数据库,它使用内存数据结构存储,可作为数据库.缓存和消息代理使用.Redis 支持丰富的数据结构,有:字符串(Strings).哈希(Hashs).列表(Lists).集合(Sets).有序集合(SortedSets).Redis 内置了复制.Lua脚本.事务及不同级别的数据硬盘持久化机制,并提供了高可用的Redis Sentinel和自动分区的集群机制.是构建高性能.可扩展的 Web 应用程序的有效手段. 安装配置 1.1 安装 1.2 配置 1.3 启动服务器 1.4

超强、超详细Redis数据库入门教程

这篇文章主要介绍了超强.超详细Redis入门教程,本文详细介绍了Redis数据库各个方面的知识,需要的朋友可以参考下 [本教程目录] 1.redis是什么2.redis的作者何许人也3.谁在使用redis4.学会安装redis5.学会启动redis6.使用redis客户端7.redis数据结构 – 简介8.redis数据结构 – strings9.redis数据结构 – lists10.redis数据结构 – 集合11.redis数据结构 – 有序集合12.redis数据结构 – 哈希13.聊聊