iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python 操作Redis
  • 735
分享到

Python 操作Redis

Python操作Redis 2023-09-16 13:09:43 735人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

在 python中我们使用 Redis库来操作 Redis数据库。Redis数据库的使用命令这里就不介绍了。 需要安装 redis库。检查是否安装redis: pip redis 如果未安装,使

python中我们使用 Redis库来操作 Redis数据库。Redis数据库的使用命令这里就不介绍了。

需要安装 redis库。检查是否安装redis:

pip redis

如果未安装,使用 pip命令安装 redis。

pip install redis #安装最新版本

一、Redis连接

Redis提供两个类 Redis和 StrictRedis用于实现 Redis的命令。

  • StrictRedis用于实现大部分官方的命令,并使用官方的语法和命令,
  • Redis是 StrictRedis的子类,用于向后兼容旧版本的 redis-py库。

方式1:单机连接

import redisredis_conn = redis.Redis(    host='192.168.xxx.xxx',    port=16379,    passWord='******',    db=0,    decode_responses=True)print(redis_conn) # RedisionPool>>

注意:redis 取出的结果默认都是字节(bytes)类型,我们可以设定 decode_responses=True 改成字符串

方式2:连接池

redis-py 使用 connection pool 来管理对一个 redis server 的所有连接,避免每次建立、释放连接的开销。

默认,每个Redis实例都会维护一个自己的连接池。可以直接建立一个连接池,然后作为参数 Redis,这样就可以实现多个 Redis 实例共享一个连接池。

import redisredis_pool = redis.ConnectionPool(    host='192.168.xxx.xxx',    port=16379,    password='******',    db=0,    decode_responses=True)redis_conn = redis.Redis(connection_pool=redis_pool)print(redis_conn)

二、Redis操作

在 Redis 中设置值,默认,不存在则创建,存在则修改。

1、String字符串

redis基本语法:

set(name, value, ex=None, px=None, nx=False, xx=False)

参数:

  • ex - 过期时间(秒)
  • px - 过期时间(毫秒)
  • nx - 如果设置为True,则只有name不存在时,当前set操作才执行
  • xx - 如果设置为True,则只有name存在时,当前set操作才执行

示例代码如下:

res = redis_conn.set('kk1', 'vv1', ex=30)v1 = redis_conn.get('kk1')print(res)  print(v1)  res = redis_conn.set('kk2', 'vv字符串', ex=30)v2 = redis_conn.get('kk2')print(v2)  

在这里插入图片描述

2、List列表

左边增加:lpush(name,values)
右边增加:rpush(name,values)

示例代码如下:

# 表示从左向右操作redis_conn.lpush("list1", 11, 22, 33)print(redis_conn.lrange('list1', 0, -1))  # 取出全部。# 表示从右向左操作redis_conn.rpush("list2", 11, 22, 33, 44)print(redis_conn.llen("list2"))  # 列表长度。print(redis_conn.lrange("list2", 0, 3))  # 切片取出值,范围是索引号0-3。

在这里插入图片描述

3、Hash哈希

单个增加基本语法:

hset(name, key, value)

参数:

  • name - redis的name
  • key - name对应的hash中的key
  • value - name对应的hash中的value

示例代码如下:

redis_conn.hset("hash1", "k1", "v1")redis_conn.hset("hash1", "k2", "v2")print(redis_conn.hkeys("hash1"))  # 取hash中所有的keyprint(redis_conn.hget("hash1", "k5"))  # 单个取hash的key对应的值。不存在返回Noneprint(redis_conn.hmget("hash1", "k1", "k2"))  # 多个取hash的key对应的值

在这里插入图片描述

4、Set集合

新增:sadd(name,values)
获取元素个数:scard(name)
获取集合中所有的成员:smembers(name)

示例代码如下:

redis_conn.sadd("set1", 33, 44, 55, 66)  # 往集合中添加元素print(redis_conn.scard("set1"))  # 集合的长度是4print(redis_conn.smembers("set1"))  # 获取集合中所有的成员

在这里插入图片描述

5、其他常用操作

  • 删除:delete(*names)
  • 检查名字是否存在:exists(name)
  • 设置超时时间:expire(name ,time)
  • 获取类型:type(name)
  • 查看所有元素–迭代器:scan_iter(match=None, count=None)

通过上面示例,其实在Python操作Redis数据库,主要还是要熟悉 Redis数据库的相关命令和语法。更多操作大家举一反三。

三、Redis操作封装

这里通过类简单封装一下 Redis数据库的相关操作。

代码如下:

import redis# RedisUtils 操作工具class RedisUtils:    def __init__(self, db=0, decode_responses=True):        self.conn = redis.StrictRedis(            host='192.168.xxx.xxx',            port=16379,            password='******',            db=db,            decode_responses=decode_responses        )    '''        list相关操作方法    '''    # 创建或者增加列表数据的操作 rpush, lpush    def list_push(self, key, push_var='r', *value):        # print(value)        if push_var == 'r':            self.conn.rpush(key, *value)        elif push_var == 'l':            self.conn.lpush(key, *value)    # 删除列表数据的操作 lpop, rpop, lrem指定删除 count=0 代表删除全部    #    count 也代表数量    def list_pop(self, key, count, value, pop_var='r'):        if pop_var == 'r':            # 从右边删除            self.conn.rpop(key)        elif pop_var == 'l':            # 从左边删除            self.conn.lpop(key)        elif pop_var == 'm':            # 指定删除全部元素            self.conn.lrem(key, count, value)        elif pop_var == 'c':            list2 = self.conn.lrange(key, 0, -1)            # 遍历删除全部元素            for value in list2:                self.conn.lrem(key, count, value)    # 修改所在索引的元素:lset lset key index value    def list_set(self, key, index, value):        self.conn.lset(key, index, value)    # 查看列表元素所在的索引:lrange    def list_get(self, key, start_index, end_index):        print(self.conn.lrange(key, start_index, end_index))# 测试方法redisUtils = RedisUtils(db=1, decode_responses=True)print(redisUtils.conn)# 从右边插入列表数据redisUtils.list_push('list1', 'r', '张三', '李四', '王五')# 修改指定索引的元素redisUtils.list_set('list1', 2, '赵云')# 查看列表redisUtils.list_get('list1', 0, -1)# 删除全部redisUtils.list_pop('list1', 0, '', 'c')

在这里插入图片描述

– 求知若饥,虚心若愚。

来源地址:https://blog.csdn.net/qq_42402854/article/details/129324497

--结束END--

本文标题: Python 操作Redis

本文链接: https://www.lsjlt.com/news/409938.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python 操作Redis
    在 Python中我们使用 redis库来操作 Redis数据库。Redis数据库的使用命令这里就不介绍了。 需要安装 redis库。检查是否安装redis: pip redis 如果未安装,使...
    99+
    2023-09-16
    Python 操作Redis
  • Python操作redis
    Python操作redispythonredis数据库searchimport首先确保redis已经正常启动。安装   可以去pypi上找到redis的Python模块:   http://pypi.python.org/pypi%3Aac...
    99+
    2023-01-31
    操作 Python redis
  • python 操作 redis,redi
    python 操作redis 需要导入redis模块import redis """ 连接redis ConnectionPool 方式连接 """ def connRedis(self): ...
    99+
    2023-01-31
    操作 python redi
  • python之操作redis
    # coding:utf8 # 导入模块 import redis # 连接redis库 # r = redis.Redis(host='192.168.10.128',port=6379,db=0) # 主要是为了向后兼容 r = red...
    99+
    2023-01-31
    操作 python redis
  • Python之Redis操作
    目录 一. 介绍A. 什么是 Redis?B. Redis 的特点和用途C. Python 操作 Redis 的优势 二. 使用 Redis 客户端库A. 安装 Redis 客户端库B...
    99+
    2023-08-31
    redis python
  • 【Redis】用python操作redis集群
    https://blog.csdn.net/bitcarmanlee/article/details/51852126  密码不能写到列表中去: 有密...
    99+
    2022-10-18
  • python 操作redis集群
    redis集群cd /usr/local/redis3.0/src./redis-trib.rb  create --replicas 1 ip1:7000 ip1:7001cluster info/nodesredis-cli -c -h...
    99+
    2023-01-31
    集群 操作 python
  • Python操作Redis和Memcac
    MemcachedMemcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的...
    99+
    2023-01-31
    操作 Python Memcac
  • Python操作redis数据库
    前言:这两天的事情不多,为了避免之前学习的一点点Python知识遗忘,我在Github上找了一些小项目跟着实践。之前的工作有写过相关的Python处理redis处理数据的脚本,但之前没有养成记录积累的习惯,所以~~~~(遗忘了),所以趁此...
    99+
    2023-01-31
    操作 数据库 Python
  • 使用python对redis操作
    写在前面首先声明,这是为了学习python对redis操作而写的一个小demo,包括了这几天网站找到的一些资料,综合总结出来一些东西,最后附上我写的一个用python操作redis的一个demo:模块安装python提供了一个模块redis...
    99+
    2023-01-31
    操作 python redis
  • Python中怎么操作Redis
    Python中怎么操作Redis,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一、字符串 stringsPython操作Redis的redis模块对字符串(string)的...
    99+
    2023-06-16
  • 4.Python操作Redis:哈希(H
    Redis 数据库hash数据类型是一个string类型的key和value的映射表,适用于存储对象。Redis 中每个 hash 可以存储 232 - 1 键值对(40多亿)。 Python的redis模块实现了Redis哈...
    99+
    2023-01-31
    操作 Python Redis
  • python怎么操作redis数据库
    今天小编给大家分享一下python怎么操作redis数据库的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、安装redis ...
    99+
    2023-06-30
  • Python访问Redis的详细操作
    目录1.连接2.String字符串3.列表4.集合5.哈希6.有序集合1.连接 测试连接是否成功: import redis r = redis.Redis(host='192....
    99+
    2022-11-12
  • python操作redis事务的方法
    这篇文章主要讲解了“python操作redis事务的方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python操作redis事务的方法”吧!五大数据类型及应用场景类型特点使用场景stri...
    99+
    2023-06-03
  • Java 操作Redis
    一、 使用Java操作Redis前,请先运行Redis服务与下载Redis驱动,以maven工程为例,引入如下jar  redis.clients jedis 2.9.0  创建测试类,验证是否成功连...
    99+
    2019-08-18
    Java 操作Redis
  • PHP操作Redis
    目录基本指令获取所有的key(keys)判断键对应值的类型(type)删除缓存项(del)设置有效期(expire,expireAt)获取有效期(ttl)检测缓存项是否存在(exists)查看当前数据库key的数量(dbSize)...
    99+
    2017-06-12
    PHP操作Redis
  • python redis的连接及相关操作
    redis连接、及存取值 import redis r = redis.Redis(host="192.168.2.22",port=6379,db=2,password= "redis") r.set("name","Delia") ...
    99+
    2016-07-13
    python redis的连接及相关操作
  • python 实现 redis 数据库的操作
    目录一、安装二、连接三、string基本命令四、hash基本命令五、list基本命令六、set基本命令七、zset基本命令八、其他通用命令九、管道命令一、安装 redis 是一个 K...
    99+
    2022-11-10
  • Python redis的操作方法有哪些
    今天小编给大家分享一下Python redis的操作方法有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。位图操作bitm...
    99+
    2023-06-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作