`

NoSQL数据库之Redis数据库管理(list类型)

阅读更多

3.list类型及操作

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

        lpush:在key对应list的头部添加字符串元素。

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

        0代表头部第一个元素,-1代表尾部第一个元素。lrange mylist 0 -1表示从list中头第一个元素一直到尾第一个元素依次取出来,即第一个元素取到最后一个元素。

        rpush:在key对应list的尾部添加字符串元素。

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

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

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

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

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

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

redis 127.0.0.1:6379> rpush mylist5 "hello"
(integer) 1
redis 127.0.0.1:6379> rpush mylist5 "hello"
(integer) 2
redis 127.0.0.1:6379> lrem mylist5 1 "hello"  //从mylist5中删除1个和hello相同的元素
(integer) 1  //代表删除元素的个数

        ltrim:保留指定key的值范围内的数据

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

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

redis 127.0.0.1:6379> lrange mylist 0 -1
1) "hello"
2) "world"
redis 127.0.0.1:6379> lpop mylist
"hello"
redis 127.0.0.1:6379> lrange mylist 0 -1
1) "world"

        rpop:从list的尾部删除元素,并返回删除元素

redis 127.0.0.1:6379> lrange mylist2 0 -1
1) "hello"
2) "world"
redis 127.0.0.1:6379> rpop mylist2
"world"
redis 127.0.0.1:6379> lrange mylist2 0 -1
1) "hello"

        lists类型

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

redis 127.0.0.1:6379> lrange mylist5 0 -1
1) "three"
2) "hello"
redis 127.0.0.1:6379> lrange mylist6 0 -1
1) "hello"
2) "foo"
redis 127.0.0.1:6379> rpoplpush mylist5 mylist6
"hello"
redis 127.0.0.1:6379> lrange mylist5 0 -1
1) "three"
redis 127.0.0.1:6379> lrange mylist6 0 -1
1) "hello"
2) "hello"
3) "foo"

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

redis 127.0.0.1:6379> lrange mylist5 0 -1
1) "three"
2) "foo"
redis 127.0.0.1:6379> lindex mylist5 0
"three"
redis 127.0.0.1:6379> lindex mylist5 1
"foo"

        llen:返回key对应list的长度

redis 127.0.0.1:6379> lrange mylist6 0 -1
1) "hello"
2) "hello"
3) "foo"
redis 127.0.0.1:6379> llen mylist6
(integer) 3

 

说明:本文是我网上学习LAMP兄弟连李捷老师《NoSQL数据库之Redis数据库管理》的学习笔记。

分享到:
评论

相关推荐

    NoSql数据库之Redis笔记

    ### NoSQL数据库之Redis知识点详解 #### 一、NoSQL数据库概述 - **NoSQL**:Not Only SQL,指的是非关系型数据库。这类数据库的设计旨在处理海量数据,并且支持高并发访问,通常用于大规模分布式存储环境中。 - *...

    NoSQL数据库之Redis数据库管理二(string类型和hash类型)

    Redis,全称Remote Dictionary Server,是一款高性能的键值存储系统,常被用于数据库、缓存以及消息中间件等场景。它支持多种数据结构,包括字符串(String)、哈希(Hash)、列表(List)、集合(Set)和有序集合...

    NoSQL数据库之Redis数据库管理三(string类型和hash类型)

    作为NoSQL数据库家族的一员,Redis以其高效、易用和丰富的数据结构闻名,尤其在处理高并发读写场景时表现出色。本篇文章将主要聚焦于Redis中的两种基础数据类型——String和Hash,以及它们在数据库管理中的应用。 ...

    NoSQL数据库-MongoDB和Redis

    ### NoSQL数据库-MongoDB和Redis #### 一、NoSQL简述 NoSQL数据库的出现是为了应对传统关系型数据库无法解决的一些问题,特别是在大规模数据处理方面。CAP理论(Consistency,Availability,Partition Tolerance)...

    Nosql之Redis技术

    作为NoSQL数据库的一种,Redis以其快速的响应速度和高效的数据处理能力而著称。其内存中的存储方式允许数据的高速读写,同时提供了持久化机制,能够将内存中的数据保存到硬盘中,保证数据的安全性。 由于其数据结构...

    全面解读NoSQL数据库Redis的核心技术与应用实践1

    NoSQL数据库Redis是一种高性能的键值存储系统,它在互联网和Web领域中广泛应用于处理海量数据和高并发问题。作为NoSQL数据库的一员,Redis以其出色的性能、丰富的数据结构、持久化、高可用性、分布式支持和复制特性...

    nosql数据库redis

    作为一个NoSQL数据库,Redis不使用传统的表结构,而是采用键(key)和值(value)的数据模型,其中值可以是字符串、哈希、列表、集合、有序集合等多种类型。这种设计使得Redis在处理大量数据时具有高速读写性能。 ...

    性能超越Redis的NoSQL数据库SSDB.zip

    SSDB 是一个 C/C 语言开发的高性能 NoSQL 数据库, 支持 zset(sorted set), map(hash), kv, list 等数据结构, 用来替代或者与 Redis 配合存储十亿级别列表的数据. SSDB 在 QIHU 360 被大量使用, 同时也被国内外业界...

    类似redis的高性能nosql​数据库LedisDB.zip

    LedisDB 是一个参考ssdb,采用go实现,底层基于leveldb,类似redis的高性能nosql数据库,提供了kv,list,hash以及zset数据结构的支持。 最开始源于ssdb,在使用了一段时间之后,因为兴趣的原因,决定用go实现一个...

    NoSQL数据库Ardb.zip

    Ardb是一个新的构建在持久化Key/Value存储实现上的NoSQL DB服务实现,支持list/set/sorted set/bitset/hash/table等复杂的数据结构,以Redis协议对外提供访问接口。 ... 标签:Ardb NoSQL数据库

    2.NoSQL之Redis配置与优化.doc

    NoSQL 之 Redis 配置与优化 一、关系型数据库与非关系型数据库 关系型数据库是一个结构化的数据库,创建在关系模型(二维表格模型)基础上,一般面向于记录。SQL 语句(标准数据查询语言)就是一种基于关系型...

    Nosql非关系型数据库-Redis中常用命令.pptx

    在众多NoSQL数据库中,Redis是一个非常受欢迎的开源键值存储系统,常用于缓存、消息中间件、实时统计等场景。下面将详细讲解Redis中的常用命令。 1. **启动与连接命令** - Redis的启动分为前台启动和后台启动。在...

    redis数据库

    NoSQL数据库通常分为四种类型: 1. **键值(Key-Value)存储数据库**:如TokyoCabinet/Tyrant、Redis、Voldemort、BerkeleyDB等。这类数据库最适合用于内容缓存,尤其是面对高访问负载时表现出色。 2. **列存储数据库...

    Redis3_win.zip:一款高性能的NOSQL系列的非关系型数据库

    redis是一款特殊的数据库软件,它是一款高性能的NOSQL系列的非关系型数据库。Redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset...

    Go-Tedis是一个基于TiKV的强一致性的兼容redis协议的NoSQL数据库

    6. **丰富的数据类型**:虽然Redis主要支持简单的Key-Value存储,但Go-Tedis通过TiKV的支持,可以处理更复杂的数据结构,如Set、List、Hash和Sorted Set等。 7. **事务支持**:由于TiKV支持事务,Go-Tedis也提供了...

    redis-5.0-rc3,nosql开源数据库

    总结一下,Redis是一个功能强大、性能优秀的NoSQL数据库,以其丰富的数据结构、高效的内存操作和灵活的数据持久化策略,广泛应用于各种互联网服务中。无论是在缓存、消息队列还是复杂数据处理场景,Redis都能提供...

    十二、Redis(NoSql)

    Redis(NoSql)数据库详解 Redis是一种开源、基于内存的数据结构存储,用于数据库、缓存和消息代理。它支持丰富的数据类型,包括String、...通过上述指令,可以对Redis数据库进行操作和管理,满足各种应用场景的需求。

    山东大学 nosql期末复习笔记 nosql 期末复习

    - **BASE**:基本可用、软状态、最终一致性,是NosQL数据库通常采用的数据一致性模型。 3. **扩展与复制策略** - **分片**:通过区间划分、轮流放置或一致性哈希实现水平扩展。 - **复制**:主从复制和对等复制...

    Nosql Redis

    Redis,全称Remote Dictionary Server,是一款高性能的键值存储系统,属于NoSQL数据库的一种。它以其内存存储、数据持久化、丰富的数据结构以及强大的网络交互能力而被广泛应用于缓存、消息中间件、实时统计等多个...

Global site tag (gtag.js) - Google Analytics