添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
# -*- coding: utf-8 -*-
import redis
r =redis.Redis(host="127.0.0.1",port=6379,password=None)

1、 Lpush 命令

将一个或多个值插入到列表头部。 如果 key 不存在,一个空列表会被创建并执行 LPUSH 操作。 当 key 存在但不是列表类型时,返回一个错误。 执行 LPUSH 命令后,列表的长度。

print r.lpush("xian",1)  #输出的结果是1
print r.lpush("xian",1)  #输出的结果是2
print r.lpush("xian",2,3,4)  #输出的结果是5

2、Rpush 命令

用于将一个或多个值插入到列表的尾部(最右边)。 如果列表不存在,一个空列表会被创建并执行 RPUSH 操作。 当列表存在但不是列表类型时,返回一个错误。 执行 RPUSH 操作后,列表的长度。

print r.rpush("xian1",1)     #输出的结果是1
print r.rpush("xian1",2,3)   #输出的结果是3
print r.rpush("xian1",4,5)   #输出的结果是5

3、Blpop 命令

移出并获取列表的第一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。 如果列表为空,返回一个 None 。 否则,返回一个含有两个元素的列表,第一个元素是被弹出元素所属的 k

print r.rpush("xian2",1,2,3,4,5,6,)      #输出的结果是6
print r.blpop("xian2")                   #输出的结果是('3', '1')
print r.blpop("xian2")                   #输出的结果是('3', '2')
print r.blpop("xian2")                   #输出的结果是('3', '3')
print r.blpop("xian3",timeout=2)         #因为键 4 不存在,所以2秒后输出的结果是None

4、Brpop 命令

移出并获取列表的最后一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。 假如在指定时间内没有任何元素被弹出,则返回一个None 和等待时长。 反之,返回一个含有两个元素的列表

print r.rpush("4",1,2,3,4,5,6,)      #输出的结果是6
print r.brpop("4")      #输出的结果是('4', '6')
print r.brpop("4")      #输出的结果是('4', '5')
print r.brpop("4")      #输出的结果是('4', '4')
print r.brpop("5",timeout=2)      #因为键 4 不存在,所以2秒后输出的结果是None

5、Brpoplpush 命令

从列表中弹出一个值,将弹出的元素插入到另外一个列表中并返回它; 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。 假如在指定时间内没有任何元素被弹出,则返回一个 None 和等待时长。 反之,返回一个含有两个元素的列

print r.rpush("11",1,2,3)      #输出的结果是3
print r.rpush("22",4,5,6,)      #输出的结果是3
print r.brpoplpush(src="11",dst="22",timeout=2)  #输出的结果是3
print r.brpoplpush(src="44",dst="22",timeout=2)  #键44 不存在,输出的结果是None

6、 Lindex 命令

用于通过索引获取列表中的元素。你也可以使用负数下标,以 -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推。列表中下标为指定索引值的元素。 如果指定索引值不在列表的区间范围内,返回 None 。

print r.rpush("6",1,2,3)      #输出的结果是3
print r.lindex("6",1)        #输出的结果是2
print r.lindex("6",2)        #输出的结果是3
print r.lindex("6",3)        #输出的结果是None
print r.lindex("6",4)        #输出的结果是None
print r.lindex("6",-1)       #输出的结果是3

7、Linsert 命令

用于在列表的元素前或者后插入元素当指定元素不存在于列表中时,不执行任何操作。 当列表不存在时,被视为空列表,不执行任何操作。 如果 key 不是列表类型,返回一个错误。 如果命令执行成功,返回插入操作完成之后,列表的长度。 如果没有找到指定元素 ,返回 -1 。 如果 key

print r.rpush("7",1)      #输出的结果是1
print r.rpush("7",2)      #输出的结果是2
print r.linsert("7","BEFORE","2",12)    #输出的结果是2

8、 Llen 命令

用于返回列表的长度。 如果列表 key 不存在,则 key 被解释为一个空列表,返回 0 。 如果 key 不是列表类型,返回一个错误。

print r.llen("8")       #key 不存在,输出的结果是0
print r.rpush("8",1)    #输出的结果是1
print r.llen("8")       #输出的结果是1
print r.rpush("8",2,3)    #输出的结果是3
print r.llen("8")       #输出的结果是3

9、Lpop 命令

用于移除并返回列表的第一个元素。 列表的第一个元素。 当列表 key 不存在时,返回 None 。

print r.lpop("9")       #输出的结果是None
print r.rpush("9",1)    #输出的结果是1
print r.rpush("9",2)    #输出的结果是2
print r.lpop("9")       #输出的结果是1

10.Lpushx 将一个或多个值插入到已存在的列表头部,列表不存在时操作无效。
11.Lrange 返回列表中指定区间内的元素,区间以偏移量 START 和 END 指定。 其中 0 表示列表的第一个元素, 1 表示列表的第二个元素,以此类推。
 你也可以使用负数下标,以 -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推。
12.Lrem 根据参数 COUNT 的值,移除列表中与参数 VALUE 相等的元素。
COUNT 的值可以是以下几种:
count > 0 : 从表头开始向表尾搜索,移除与 VALUE 相等的元素,数量为 COUNT 。
count < 0 : 从表尾开始向表头搜索,移除与 VALUE 相等的元素,数量为 COUNT 的绝对值。
count = 0 : 移除表中所有与 VALUE 相等的值。
被移除元素的数量。 列表不存在时返回 0 。
13. Lset 通过索引来设置元素的值。
当索引参数超出范围,或对一个空列表进行 LSET 时,返回一个错误
操作成功返回 True ,否则返回错误信息。
14. Ltrim 对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除。
下标 0 表示列表的第一个元素,以 1 表示列表的第二个元素,以此类推。 
你也可以使用负数下标,以 -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推。
15. Rpop 命令用于移除并返回列表的最后一个元素。
列表的最后一个元素。 当列表不存在时,返回 None 。
16.Rpoplpush 命令用于移除列表的最后一个元素,并将该元素添加到另一个列表并返回。
17.Rpushx 命令用于将一个或多个值插入到已存在的列表尾部(最右边)。如果列表不存在,操作无效。

命令描述
Redis Blpop 命令移出并获取列表的第一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。
Redis Brpop 命令移出并获取列表的最后一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。
Redis Brpoplpush 命令从列表中弹出一个值,将弹出的元素插入到另外一个列表中并返回它; 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。
Redis Lindex 命令通过索引获取列表中的元素
Redis Linsert 命令在列表的元素前或者后插入元素
Redis Llen 命令获取列表长度
Redis Lpop 命令移出并获取列表的第一个元素
Redis Lpush 命令将一个或多个值插入到列表头部
Redis Lpushx 命令将一个或多个值插入到已存在的列表头部
Redis Lrange 命令获取列表指定范围内的元素
Redis Lrem 命令移除列表元素
Redis Lset 命令通过索引设置列表元素的值
Redis Ltrim 命令对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除。
Redis Rpop 命令移除并获取列表最后一个元素
Redis Rpoplpush 命令移除列表的最后一个元素,并将该元素添加到另一个列表并返回
Redis Rpush 命令在列表中添加一个或多个值
Redis Rpushx 命令为已存在的列表添加值
列表类型 (List) 是一个使用链表结构存储的有序结构,它的元素插入会按照先后顺序存储到链表结构中,因此它的元素操作 (插入\删除) 时间复杂度为 O(1),所以相对来说速度还是比较快的,但它的查询时间复杂度为 O(n),因此查询可能会比较慢。 1 基础使用 列表类型的使用相对来说比较简单,对它的操作就相当操作一个没有任何 key 值的 value 集合,如下图所示: 1)给列表添加一个或多个... 在使用python操作redis之前,需要先安装redis库:pip install redis。创建连接方式:StrictRedis:实现大部分官方命令。Redis:是StrictRedis的子类,用于向后兼容旧版本的redis。#decode_responses=True 自动解码r = redis.Redis(host='127.0.0.1',port=6379,password='1234... 在Web应用发展的初期,那时关系型数据库受到了较为广泛的关注和应用,原因是因为那时候Web站点基本上访问和并发不高、交互也较少。而在后来,随着访问量的提升,使用关系型数据库的Web站点多多少少都开始在性能上出现了一些瓶颈,而瓶颈的源头一般是在磁盘的I/O上。而随着互联网技术的进一步发展,各种类型的应用层出不穷,这导致在当今云计算、大数据盛行的时代,对性能有了更多的需求,主要体现在以下几个方面:> 1. 低延迟的读写速度:应用快速地反应能极大地提升用户的满意度。 前言:本来想写redis与rabbitMQ的,但写完redis后感觉有点多,rabbitMQ还是留在下篇博客吧~~关于redis与rabbitMQ的下载与安装,可参考redis&rabbitMQ安装一、redis基本操作-11 importredis2 #建立连接3 r=redis.Redis(host="127.0.0.1",port=6379)45 all_keys=r.keys()#输出所有... # lpush(name, values) 存值, 从左至右存值, 从下至上 顺序一致 conn.lpush('list_test', 'sc') conn.lpush('list_test', 'cc') conn.lpush('list_test', 'zz') conn.lpush('list_test','lw', 'll', 'lq') # rpush(name, valu 上一篇文章写了redis客户端的各种list操作,这篇文章用python客户端来复现一下。(建议结合上篇文章看,效果更佳)from redis import Redisif __name__ == '__main__':client = Redis(host='192.168.174.129', port=6666, decode_responses=True)try:# 左右插入print(cl... 本文将深入探讨如何使用Python操作Redis,覆盖从基础数据类型到高级功能的广泛主题。无论是字符串、列表、散列、集合还是有序集合,我们将一一解析,同时提供丰富的代码示例帮助读者更好地理解和应用。除此之外,本文还将介绍Redis的一些高级功能,如事务处理、管道、发布/订阅模式、Lua脚本编程以及数据持久化 Redis(Remote Dictionary Server)是一个高性能的键值存储数据库,它支持各种数据结构,如字符串、哈希表、列表、集合和有序集合。Redis 通常被用作缓存、消息队列、实时统计等场景。本教程介绍了使用 Python 操作 Redis 的基本操作,包括键值对、哈希表、列表、集合、有序集合和发布/订阅等数据操作,以及事务操作、过期时间、持久化、分布式锁、缓存和性能优化等高级功能和用例。