• 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)可能需要根据您的实际情况进行修改。

  • 相关阅读:
    面试机器学习你一定会遇到的知识点汇总
    【NTN 卫星通信】卫星和无人机配合的应用场景
    转变命运!揭秘反转链表的神奇算法!
    月报总结|Moonbeam 7月份大事一览
    JS模块化—CJS&AMD&CMD&ES6-前端面试知识点查漏补缺
    如何有效利用chatgpt?
    worthington四重奏丨worthington经过使用测试的细胞分离系统
    【计算机毕业设计】35.流浪动物救助及领养管理系统源码
    漫谈:浮点数为什么很麻烦 金额究竟应该如何存储
    ​PNAS:alpha频率经颅电刺激调控大脑默认网络
  • 原文地址:https://blog.csdn.net/m0_65995252/article/details/133393796