IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Redis 总结 —— 2022/2/4 -> 正文阅读

[大数据]Redis 总结 —— 2022/2/4

连接方式:单次连接/连接池

import redis

def Once_connect():
    """
    此种连接为单次连接,耗资源
    :return:设置的name值
    """
    # 创建 Redis连接对象
    redis_coon = redis.Redis(host='localhost', port=6379, db=5)

    # 字符串类型设置单个值
    redis_coon.set('name', 'susu')

    return redis_coon.get('name').decode('utf-8')

def Twice_connect():
    """
    当程序创建数据源实例时,系统会一次性创建多个数据库连接,并把这些数据库连接保存在连接池中,
    当程序需要进行数据库访问时,无需重新新建数据库连接,而是从连接池中取出一个空闲的数据库连接
    :return:设置的age值
    """
    # 创建连接池
    redis_pool = redis.ConnectionPool(host='localhost', port=6379, db=5)

    # 从连接池中挑出空闲的连接对象
    redis_coon = redis.Redis(connection_pool=redis_pool)

    # 字符串类型设置单个值
    redis_coon.set('age', '20')

    return redis_coon.get('age').decode('utf-8')


print(Once_connect())  # susu
print(Twice_connect())  # 20

存储操作:String/Hash/List/Set/Sorted Set

String 类型(字符串)

def String_operation():
    # 创建连接池及连接对象
    redis_pool = redis.ConnectionPool(host='localhost', port=6379, db=5)
    redis_coon = redis.Redis(connection_pool=redis_pool)

    """
    命令1:get(name)
          用于获取值
    命令2:set(name, value, ex=None, px=None, nx=False, xx=False)
          ex:设置过期时间(单位:s) —— 对应setex
          px:设置过期时间(单位:ms) —— 对应psetex
          nx:如果设置为True,则只有当name不存在时才能执行 —— 对应setnx
          xx:如果设置为True,则只有当name存在时才能执行
    """
    redis_coon.set('name', 'susu', ex=60, nx=False, xx=False)
    redis_coon.set('age', '20', px=1000 * 60, nx=True, xx=False)
    redis_coon.set('sex', 'man', px=1000 * 60, nx=False, xx=False)
    susu_dict = {}
    susu_dict.setdefault('name', redis_coon.get('name').decode('utf-8'))
    susu_dict.setdefault('age', redis_coon.get('age').decode('utf-8'))
    susu_dict.setdefault('sex', redis_coon.get('sex').decode('utf-8'))
    print(susu_dict)  # {'name': 'susu', 'age': '20', 'sex': 'man'}

    """
    命令3:setex(name, time, value)
          time 过期时间单位为秒
    命令4:psetex(name, time_ms, value)
          time_ms 过期时间单位为毫秒
    """
    fruit_dict = {}
    redis_coon.setex('red', 60, 'apple')
    redis_coon.psetex('yellow', 60 * 1000, 'banana')
    redis_coon.psetex('green', 60 * 1000, 'cucumber')
    fruit_dict.setdefault('red', redis_coon.get('red').decode('utf-8'))
    fruit_dict.setdefault('yellow', redis_coon.get('yellow').decode('utf-8'))
    fruit_dict.setdefault('green', redis_coon.get('green').decode('utf-8'))
    print(fruit_dict)  # {'red': 'apple', 'yellow': 'banana', 'green': 'cucumber'}

    """
    命令5:setnx(name, value)
          只有当name不存在时才执行
    命令6:mset(*args, **kwargs)
          以关键字形式传递参数
          or 传入字典 —— {'name': 'nana', 'age': 20, 'sex': 'woman'}
    命令7:mget(*args, **kwargs)
          以传入字符串形式获取值(返回值是一个列表) —— 获取的是二进制格式(需要利用.decode()进行转换)
    """
    redis_coon.setnx('sweet', 'milk')
    nana_dict = {'name': 'nana', 'age': 20, 'sex': 'woman'}
    redis_coon.mset(nana_dict)
    name, age, sex, sweet = redis_coon.mget('name', 'age', 'sex', 'sweet')
    new_nana_dict = {'name': name.decode(), 'age': age.decode(), 'sex': sex.decode(), 'like': sweet.decode()}
    print(new_nana_dict)  # {'name': 'nana', 'age': '20', 'sex': 'woman', 'like': 'milk'}

    """
    命令8:getset(name, value)
    命令9:getrange(key, start, end)
    命令10:setrange(name, offset, value)
    """


String_operation()

Hash 类型(哈希)


List 类型(列表)


Set 类型(无序集合)


Sorted Set 类型(有序集合)


  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-02-05 21:48:17  更:2022-02-05 21:48:58 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 13:25:03-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码