c语言编程笔录

首页 >   > 笔记大全

笔记大全

Python操作Redis列表用法介绍

更新时间:2024-01-02

什么是Redis列表

Redis列表是简单的字符串列表,在Redis中,你可以添加、删除和显示推入列表中存储的元素,Redis列表的基本操作是从头部插入元素,从尾部插入元素,删除元素,获取元素,切割和求长度。

# 创建一个列表
redis> lpush lwklist redis
(integer) 1
redis> lpush lwklist mongodb
(integer) 2
redis> lpush lwklist rabitmq
(integer) 3
# 查看所有元素
redis> lrange lwklist 0 -1
1) "rabitmq"
2) "mongodb"
3) "redis"

Redis列表的操作

Redis列表的基本操作有rpush、lpush、rpop、lpop和lrange等。

# rpush 命令
redis> rpush lwklist redis
(integer) 1
redis> rpush lwklist mongodb
(integer) 2
redis> rpush lwklist rabitmq
(integer) 3
# 查看队列长度
redis> llen lwklist
(integer) 3
# lrange 命令,获取所有元素
redis> lrange lwklist 0 -1
1) "redis"
2) "mongodb"
3) "rabitmq"
# lpop 命令,删除第一个元素
redis> lpop lwklist
"redis"
# 查看所有元素
redis> lrange lwklist 0 -1
1) "mongodb"
2) "rabitmq"

常用的Redis列表操作

Redis列表的操作最常用的是rpush、lpush、rpop和lpop命令,我们常用这些命令来实现队列或栈数据结构。下面我们给出一个使用Redis列表实现栈的例子。

import redis
r = redis.Redis(host='localhost', port=6379, db=0)
stack_key = 'lwkstack'
r.delete(stack_key)
# push 操作
r.lpush(stack_key, 'redis')
r.lpush(stack_key, 'mongodb')
r.lpush(stack_key, 'rabitmq')
# 获取栈长度
print(r.llen(stack_key))
# pop 操作
print(r.lpop(stack_key))

Redis列表的内部实现

Redis列表内部是由一个链表(linkedlist)实现的,链表的每个节点都包含了一个列表元素,一个指向链表前置节点的指针和一个指向链表后置节点的指针。Redis的列表可以包含相同的元素,同样的元素也可以出现在列表的不同位置。

redis> rpush mylist a
(integer) 1
redis> rpush mylist b
(integer) 2
redis> rpush mylist a
(integer) 3
redis> lrange mylist 0 -1
1) "a"
2) "b"
3) "a"
通过上述代码,可以看出来Redis的列表可以包含相同的元素。