redis基本数据结构-列表
redis基本数据结构-列表list
- 特性
- 每个列表键最多存储 2^32 - 1个字符串元素
- 元素在列表中有序
- 元素在列表中不唯一
- 向列表左侧添加元素
lpush key value
lpush number 1 lpush number 2
number = [2, 1]
- 向列表右侧添加元素
rpush key value
rpush number 3 rpush number 4 rpush number 5
number = [2, 1, 3, 4, 5]
- 从列表左侧弹出元素
lpop key
lpop number
返回2, number = [1, 3, 4, 5]
- 从列表右侧弹出元素
rpop key
rpop number
返回5, number = [1, 3, 4]
- 获取列表中元素个数
llen key
llen number
返回3, number = [1, 3, 4]
- 获取列表片段(切片)
lrange key startIndex endIndex
lrange number 0 1
返回1, 3
lrange number 0 -1
返回1, 3, 4
说明: [startIndex, endIndex] 为闭区间, 负数index指示从后往前的index,最后一个为-1
- 删除列表中的前count个元素中置为value的元素
lren key count value
lpush number 3
number = [3, 1, 3, 4]
lrem number 3 3 // 删除前3个元素中值为3的元素
lrem number 3 3
返回2(实际删除个数)
number = [1, 4]
- 获取指定位置的元素值
lindex key index
lpush number 2
number = [2, 1, 4]
lindex number 0 === 2
lindex number 1 === 1
lindex number 2 === lindex number -1 === 4
- 设置指定位置的元素值
lset key index value
lset number 0 hello
number = [hello, 1, 4]
- 删除置顶范围以外的元素
ltrim key startIndex endIndex
说明: [startIndex, endIndex] 为闭区间
ltrim number 0 1
number = [hello, 1]
- 向列表中指定元素值前/后插入元素(是在从左侧开始第一个该指定值出现的位置前/后)
linsert key BEFORE/AFTER pivot value
lpush number 1
number = [1, hello, 1]
linsert number before 1 2
number = [2, 1, hello, 1]
linsert number after 1 3
number = [2, 1, 3, hello, 1]
- 将一个列表移动到另一个列表(每次只移动一个元素)
rpoplpush key1 key2
number = [2, 1, 3, hello, 1]
rpoplpush number number2
number = [2, 1, 3, hello]
number2 = [1]
rpoplpush number number2
number = [2, 1, 3]
number2 = [hello, 1]
redis基本数据结构-列表的更多相关文章
- redis底层数据结构之快速列表(quicklist)
快速列表(quicklist) redis3 .2版本之前,List类型数据使用的底层数据结构是压缩列表(ziplist)或双向链表(linkedlist),当列表元素个数比较少并且每个元素占用空间比 ...
- Redis基本数据结构总结之STRING和LIST
Redis基本数据结构总结前言 Redis的特点在于其读写速度特别快,因为是存储在内存中的,其非常适合于处理大数据量的情况:还有一个是其不同于其他的关系型数据库,Redis是非关系型数据库,也就是我们 ...
- Redis基本数据结构总结之SET、ZSET和HASH
Redis基本数据结构总结 前言 Redis的特点在于其读写速度特别快,因为是存储在内存中的,其非常适合于处理大数据量的情况:还有一个是其不同于其他的关系型数据库,Redis是非关系型数据库,也就是我 ...
- 聊一聊Redis的数据结构
如果没有记错的话,应该是在两个月前把 我们经常看到此类的文章: Redis的五种数据结构 Redis的数据结构以及对应的使用场景 其实以数据结构这个词去说明Redis的String.Hash.List ...
- 高可用Redis(四):列表,集合与有序集合
1.列表类型 1.1 列表数据结构 左边为key,是字符串类型 右边为value,是一个有序的队列,与python的列表结构相同 可以在Redis中对列表的value进行如下操作 从左边添加元素 从右 ...
- Redis学习——数据结构介绍(四)
一.简介 作为一款key-value 的NoSQL数据库,Redis支持的数据结构比较丰富,有:String(字符串) .List(列表) .Set(集合) .Hash(哈希) .Zset(有序集合) ...
- Redis常用数据结构
Redis常用数据结构包括字符串(strings),列表(lists),哈希(hashes),集合(sets),有序集合(sorted sets). redis的key最大不能超过512M,可通过re ...
- Redis的数据结构、通用操作及其特性
Redis的数据结构 五种数据类型: 字符串(String).字符串列表(list).字符串集合(set).有序字符串集合(sorted set).哈希(hash) key定义的注意点: 不要过长,不 ...
- Redis学习笔记之Redis基本数据结构
Redis基础数据结构 Redis有5种基本数据结构:String(字符串).list(列表).set(集合).hash(哈希).zset(有序集合) 字符串string 字符串类型是Redis的va ...
- 你真的懂redis的数据结构了吗?redis内部数据结构和外部数据结构揭秘
Redis有哪些数据结构? 字符串String.字典Hash.列表List.集合Set.有序集合SortedSet. 很多人面试时都遇到过这种场景吧? 其实除了上面的几种常见数据结构,还需要加上数据结 ...
随机推荐
- Vue 3 组件基础与模板语法详解
title: Vue 3 组件基础与模板语法详解 date: 2024/5/24 16:31:13 updated: 2024/5/24 16:31:13 categories: 前端开发 tags: ...
- MQTT 实践总结
QMQX 文档:https://www.emqx.io/docs/zh/latest/ MQTT 入门:https://www.emqx.com/zh/mqtt-guide 通过案例理解 MQTT 主 ...
- 在Cocos2d中拖动组件并吸附到节点
最近在学习制作小游戏,要实现一个拖动吸附效果,这里简单实现一下 代码实现 定义节点和函数功能 在properties里新建一个对象,用来接收目标区域的节点 properties:{ sense: { ...
- [HNOI2005] 狡猾的商人's 题解 (差分约束系统)
题目描述 给你一个\(n\)元一次方程,判断是否有解,方程给出的格式为 \(a-b=c\) 思路 这道题看上去是一道题目看上去就是判断给出条件是否有矛盾,所以就自然而然的可以使用带权并查集 但是因为我 ...
- zabbix笔记_005 zabbix自动发现
自动发现 [消耗资源较大] 1.1 自动发现监控主机 自动发现的好处: 快速发现,并自动添加主机,省去管理员配置的麻烦. 管理简单高效 zabbix监控构建速度更高效 1.2 自动发现的原理 自动发现 ...
- 一个前后端都有的后台管理系统,使用nest.js和vue3
今天介绍一个新的Vue后台管理框架,相比其他后台功能丰富管理系统,这个后台管理系统可以用干净简洁来形容--Nova-admin Nova-admin Nova-admin 是一个基于Vue3.Vite ...
- C++笔记(2)拷贝构造函数
拷贝构造函数是一种特殊的构造函数,它在创建对象时,是使用同一类中之前创建的对象来初始化新创建的对象. 如果在类中没有定义拷贝构造函数,编译器会自行定义一个.如果类带有指针变量,并有动态内存分配,则它必 ...
- C语言常用数学函数
目录 C语言常用数学函数(头文件#include "math.h") abs()函数 labs()函数 fabs()函数 floor()函数 floorf() floorl() c ...
- 将手机声音通过蓝牙输入到WIN10电脑-安卓手机投屏直播无声音
安卓手机投屏无声音,斗鱼,虎牙,直播无声音.可以用本方案,前提是电脑要有蓝牙功能,没有蓝牙,可以购买一个USB蓝牙适配器(不建义买CSR芯片的,CSR驱动会导致office 和远程桌面有问题). 操作 ...
- (二)requests-爬取国家药监局生产许可证数据
首先访问这个页面 url = 'http://125.35.6.84:81/xk/' 我们的目标是抓取这里的每一个企业的详情页数据,但是可以发现这里只有企业的简介信息,所以这就意味着我们要发送两次ge ...