• python数据库——redis


    一、 Redis数据库

    Redis是一个开源的、基于内存的数据结构存储系统,可以用作数据库、缓存和消息中间件。它支持多种数据结构,包括字符串、哈希表、列表、集合和有序集合等。Redis的特点包括高性能、持久化、支持事务和发布/订阅等功能。它通常被用于解决高并发、高性能读写的场景,如缓存、排行榜、实时统计等。

    Redis 是完全开源的,遵守 BSD 协议,是一个高性能的 key-value 数据库,与其他key-value缓存产品相比有以下区别:

    • Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
    • Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
    • Redis支持数据的备份,即master-slave模式的数据备份。

    二、 redis-py库

            redis-py是一个Python语言的Redis客户端库,它提供了丰富的功能和易于使用的接口,使得开发人员可以轻松地与Redis服务器进行交互。Redis作为一个开源的内存数据存储系统,具有高性能、高可靠性和灵活的数据结构等特点,在各种场景下都有着广泛的应用。首先需要安装redis-py库,可以使用pip命令进行安装:

    pip install redis

    2.1 常用函数

    1. 连接相关函数:

      • redis.Redis(host='localhost', port=6379, db=0, password=None):创建一个Redis连接对象。
      • redis.StrictRedis(host='localhost', port=6379, db=0, password=None):创建一个严格模式的Redis连接对象。
    2. 数据操作函数:

      • set(key, value):设置一个键值对。
      • get(key):获取指定键的值。
      • delete(*keys):删除一个或多个键。
      • exists(key):判断指定键是否存在。
      • incr(key, amount=1):将指定键的值增加指定的数量。
      • decr(key, amount=1):将指定键的值减少指定的数量。
      • mset(mapping):同时设置多个键值对。
      • mget(keys):同时获取多个键的值。
      • hset(name, key, value):在指定的哈希表中设置一个字段的值。
      • hget(name, key):获取指定哈希表中指定字段的值。
      • hgetall(name):获取指定哈希表的所有字段和值。
      • sadd(name, *values):向指定的集合中添加一个或多个元素。
      • smembers(name):获取指定集合中的所有元素。
    3. 列表操作函数:

      • lpush(name, *values):向指定列表的左侧插入一个或多个元素。
      • rpush(name, *values):向指定列表的右侧插入一个或多个元素。
      • lpop(name):从指定列表的左侧弹出一个元素。
      • rpop(name):从指定列表的右侧弹出一个元素。
      • lrange(name, start, end):获取指定列表中指定范围内的元素。

    三、数据库连接

    以下是一个示例,展示了如何使用redis-py库连接到Redis数据库:

    1. import redis
    2. # 创建Redis连接对象
    3. r = redis.Redis(host='localhost', port=6379, db=0, password=None)
    4. # 设置键值对
    5. r.set('key1', 'value1')
    6. # 获取键的值
    7. value = r.get('key1')
    8. print(value) # 输出: b'value1'
    9. # 删除键
    10. r.delete('key1')
    11. # 判断键是否存在
    12. exists = r.exists('key1')
    13. print(exists) # 输出: False

            在示例中,首先创建了一个Redis连接对象,指定了Redis服务器的主机名、端口号和数据库索引。然后使用set函数设置了一个键值对,使用get函数获取了键的值,并使用delete函数删除了键。最后使用exists函数判断键是否存在。

    注:示例中的hostport参数需要根据实际的Redis服务器配置进行修改。

    四、数据操作和查询

    下面是一个使用redis-py库进行数据操作和查询的示例:
     

    1. import redis
    2. # 创建Redis连接
    3. r = redis.Redis(host='localhost', port=6379, db=0)
    4. # 设置键值对
    5. r.set('name', 'Alice')
    6. r.set('age', 20)
    7. r.set('score', 85.5)
    8. # 获取键的值
    9. name = r.get('name')
    10. age = r.get('age')
    11. score = r.get('score')
    12. print(f"Name: {name.decode()}")
    13. print(f"Age: {age.decode()}")
    14. print(f"Score: {score.decode()}")
    15. # 对键进行增减操作
    16. r.incrby('age', 2)  # 将age键的值增加2
    17. r.decrby('score', 5)  # 将score键的值减少5
    18. # 获取所有键
    19. keys = r.keys('*')
    20. print(f"All Keys: {keys}")
    21. # 删除键
    22. r.delete('score')
    23. # 检查键是否存在
    24. exists = r.exists('score')
    25. print(f"Key 'score' exists: {exists}")

            以上示例展示了如何使用redis-py库进行数据操作和查询。可以根据具体需求进行更复杂的操作,如设置过期时间、使用哈希表、使用列表等。请注意,示例中的连接参数(host、port、db)可能需要根据您的实际情况进行修改。

  • 相关阅读:
    前端基础之《NodeJS(2)—模块化》
    基于 vite2 + Vue3 写一个在线帮助文档工具
    wait函数与waitpid函数的区别
    软件测试技术之性能测试进阶—并发测试的方法
    uni-app中拦截webview窗口的URL请求
    spring常见面试题总结
    Springboot使用定时任务scheduler详解
    《七月集训》(第五天)——双指针
    设计模式学习笔记(十四)责任链模式实现及在Filter中的应用
    DO280OpenShift访问控制--security policy和章节实验
  • 原文地址:https://blog.csdn.net/m0_65995252/article/details/133393796