使用Python读写Redis——Lists

这篇具有很好参考价值的文章主要介绍了使用Python读写Redis——Lists。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

之前详细介绍了 Redis命令 - Lists命令组常用命令,同样的命令,本文将用python调用redis库封装好的方法。

要操作的Lists命令如下

1、LSET key index value
2、LINSERT key BEFORE|AFTER pivot value
3、LPUSH key value [value …]
4、RPUSH key value [value …]
5、LPUSHX key value [value…]
6、RPUSHX key value [value…]
7、LPOP key
8、RPOP key
9、LLEN key
10、LINDEX key index
11、LRANGE key start stop文章来源地址https://www.toymoban.com/news/detail-809846.html

Python连接redis

import redis
from config.VAR import INT_REDIS_HOST, INT_REDIS_PORT, INT_REDIS_PASSWORD

# 便于修改,将redis的连接配置在VAR.py中,管理这些常量
r = redis.StrictRedis(host=INT_REDIS_HOST, port=INT_REDIS_PORT, password=INT_REDIS_PA

Python使用Lists命令

# LSET key index value
# 前提:redis中必须已经有此key,否则会报no such key的error。我创建的mylist是一个空list
print(r.lset("mylist", 0, "1"))  # 若key存在,返回: True

# LRANGE key start stop
print(r.lrange("mylist", 0, -1))  # list的值:[b'1'],只有这一个元素

# LINSERT key BEFORE|AFTER pivot value
# 在 1 前边插入 -2
print(r.linsert("mylist", "before", "1", "-2"))  # 返回值2:操作成功后list的长度
print(r.lrange("mylist", 0, -1))  # [b'-2', b'1']
# 在 -2 后边插入 3
print(r.linsert("mylist", "after", "-2", "3"))  # 3
print(r.lrange("mylist", 0, -1))  # [b'-2', b'3', b'1']

# LPUSH key value [value …]
print(r.lpush("mylist", "4"))  # 返回值4:操作成功后list的长度
print(r.lrange("mylist", 0, -1))  # [b'4', b'-2', b'3', b'1']
# 多值push,依次从左到右将值push进list,例如下面:先推的7,再推的8
print(r.lpush("mylist", *["7", "8"]))  # 6
print(r.lrange("mylist", 0, -1))  # [b'8', b'7', b'4', b'-2', b'3', b'1']

# RPUSH key value [value …]
print(r.rpush("mylist", "5"))  # 7
print(r.lrange("mylist", 0, -1))  # [b'8', b'7', b'4', b'-2', b'3', b'1', b'5']
print(r.rpush("mylist", *["9", "10"]))  # 9
print(r.lrange("mylist", 0, -1))  # [b'8', b'7', b'4', b'-2', b'3', b'1', b'5', b'9', b'10']

# LPUSHX key value [value…]
print(r.lpushx("mylist", "5"))  # 10
print(r.lrange("mylist", 0, -1))  # [b'5', b'8', b'7', b'4', b'-2', b'3', b'1', b'5', b'9', b'10']

# RPUSHX key value [value…]
print(r.rpushx("mylist", "8"))  # 11
print(r.lrange("mylist", 0, -1))  # [b'5', b'8', b'7', b'4', b'-2', b'3', b'1', b'5', b'9', b'10', b'8']

# LPOP key
# 此操作会删除元素
print(r.lpop("mylist"))  # 参数count默认是1,返回值:b'5',返回的是第一个值
print(r.lpop("mylist", 2))  # [b'8', b'7']
print(r.lrange("mylist", 0, -1))  # [b'4', b'-2', b'3', b'1', b'5', b'9', b'10', b'8']

# RPOP key
# 此操作会删除元素
print(r.rpop("mylist"))  # 参数count默认是1,返回值:b'8',返回的是最后一个值
print(r.rpop("mylist", 3))  # [b'10', b'9', b'5'],注意弹出的顺序
print(r.lrange("mylist", 0, -1))  # [b'4', b'-2', b'3', b'1']

# LLEN key
print(r.llen("mylist"))  # 返回值4,list的长度

# LINDEX key index
print(r.lindex("mylist", 3))  # 返回值b'1'
print(r.lindex("mylist", 5))  # 返回值None, 因为索引超过了范围,只有4个元素

到了这里,关于使用Python读写Redis——Lists的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Redis 读写分离 使用redisTemplate执行lua脚本时,报错处理

    项目配置 redis架构 1主2从3哨兵模式 采用了读写分离模式 springboot使用 luttuce 项目使用redisTemplate执行lua脚本 测试代码 大致意思是说 在从节点上执行 写操作(实际上写操作是在lua脚本里面的) 为什么执行lua脚本会只走从节点? 在主从模式下,框架自身应该是可以区分读和写

    2024年02月17日
    浏览(50)
  • 使用 Python 获取 Redis 数据库中的所有键

    如果你了解 JSON,就会熟悉 Redis 设计系统。 它使用键值结构和分布式内存方法来实现弹性数据库。 哈希、列表、集合、排序集合、字符串、JSON 和流是 Redis 支持的众多数据结构之一。 这个开源数据库支持不同的语言,包括 Python,如果您正在使用它开发后端系统,一些模块和

    2024年02月12日
    浏览(33)
  • 使用Dockerfile构建python项目镜像(flask框架+redis+环境变量)

    有时候如连接redis的url可能发生变化等,这时候就需要把一些变量放在环境变量中。         使用 --env 和 -e 是一样效果的。 1.1.1 配置Dockerfile文件 1.1.2 编写python示例程序 示例代码: 1.1.3 构建镜像         首先将python代码和dockerfile文件上传到已经安装了docker的服务器

    2024年02月07日
    浏览(50)
  • 如何使用C#中的Lambda表达式操作Redis Hash结构,简化缓存中对象属性的读写操作

    Redis是一个开源的、高性能的、基于内存的键值数据库,它支持多种数据结构,如字符串、列表、集合、散列、有序集合等。其中,Redis的散列(Hash)结构是一个常用的结构,今天跟大家分享一个我的日常操作,如何使用Redis的散列(Hash)结构来缓存和查询对象的属性值,以

    2024年02月16日
    浏览(59)
  • 4、python列表Lists

    列表和你可以用它们做的事情。包括索引,切片和变异! Python 中的 List 表示有序的值序列: In [1]: 我们可以把其他类型的事情列入清单: In [2]: 我们甚至可以列一个清单: In [3]: 列表可以包含不同类型的变量: In [4]: 可以使用方括号访问单个列表元素。 哪个行星离太阳最近? Pyt

    2024年01月17日
    浏览(41)
  • 读写一致 && MySQL&&Redis

    不懂CPU如何读写内存还敢说自己是程序员? - 知乎 (zhihu.com)   1. 什么是cache line : cache line 位于 CPU 与内存之间,CPU想要获得数据的时候,先从CPU cache中获取。 若CPU cache中不存在,发生cache miss,那么,cache要从主存memory 中获取数据缓存到cache中并且返回给CPU。 由于局部性原理

    2024年02月11日
    浏览(34)
  • Redis三种缓存读写策略

    1.1 读 1.2 写   1.3 为什么要先更新db再删除cache?          缓存的写入速度是比数据库的写入速度快很多,因此相比于先删除cache后更新db带来数据不一致性问题的概率更小。 1.4 特点 平时使用比较多的一个缓存读写模式 同时维系db 和 cache,以db结果为准 首次请求数据一定不

    2024年01月19日
    浏览(61)
  • Python学习之路-Python操作redis

    在Python中操作 Redis 可以直接用 redis 模块 安装Redis的有3种方式https://github.com/andymccurdy/redis-py 第一种:进⼊虚拟环境py_django,联⽹安装包redis 第二种:进⼊虚拟环境py_django,联⽹安装包redis 第三种:到中⽂官⽹-客户端下载redis包的源码,使⽤源码安装: 下载:执行 wget https:/

    2024年01月22日
    浏览(43)
  • Redis 如何配置读写分离架构(主从复制)?

    如果你的 redis 实际应用场景是 读多写少 ,那么读写分离的架构就比较适合,能够显著的提升读的性能 实际上就是 Redis 对数据除持久化之外的一种数据冗余备份机制。(能够在主节点出现故障时,通过其他手段让从节点快速提升为主节点提供服务以实现故障的恢复。)在读

    2023年04月11日
    浏览(39)
  • node-red - 读写操作redis

    安装配置node-red环境: centos通过源文件的方式安装node-red nodered-环境搭建及使用 安装配置redis: centos - docker安装redis Windows10安装redis(图文教程) Redis支持的数据结构 回到目录 1.在node-red里面安装redis节点 : 2. 刷新node-red: 回到目录 3.1.1 List(列表)存储 :redis-out节点   redis

    2024年02月10日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包