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/6 -> 正文阅读

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

存储操作:List/Set/Sorted Set

Set 类型(无序集合)

# 将二进制集合转换对应的集合
def Iterate_Set(value):
    if isinstance(value, set):
        set_latest = set()
        for i in value:
            set_latest.add(i.decode())
        return set_latest

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

    """
    特点:集合中的元素不具有重复性(自动去重功能)
    命令1:sadd(name,values)
          name:集合名
          values:元素
    命令2:scard(name)
          name:集合名
          返回值:集合中的元素个数
    命令3:smembers(name)
          查看集合中的元素
          返回值:是一个集合
    命令4:sdiff(keys, *args)
          差集!第一个集合 - 第二个集合
          返回值:是一个集合
    命令5:sdiffstore(dest, keys, *args)
          dest:将差集加入到dest集合中(如果集合存在则会覆盖/不存在则会创建)
          keys:第一个集合和第二个集合
    命令6:sinter(keys, *args)
          交集! 
    命令7:sinterstore(dest, keys, *args)
          dest:将交集加入到dest集合中(如果集合存在则会覆盖/不存在则会创建)
          keys:第一个集合和第二个集合
    命令8:sunion(keys, *args)
          并集!
    命令9:sunionstore(dest,keys, *args)
          dest:将交集加入到dest集合中(如果集合存在则会覆盖/不存在则会创建)
          keys:第一个集合和第二个集合
    """
    redis_coon.sadd('my_set_1', 1, 1, 2, 3, 4)
    redis_coon.sadd('my_set_2', 2, 3)

    print(redis_coon.scard('my_set_1'))  # 4
    print(Iterate_Set(redis_coon.smembers('my_set_1')))  # {'4', '1', '2', '3'}

    print(Iterate_Set(redis_coon.sdiff('my_set_1', 'my_set_2')))  # {'4', '1'}
    redis_coon.sdiffstore('my_set_3', 'my_set_1', 'my_set_2')
    print(Iterate_Set(redis_coon.smembers('my_set_3')))  # {'1', '4'}

    # my_set_1:{'1', '2', '3', '4'} —— my_set_2:{'2', '3'} —— my_set_3:{'1', '4'}
    print(Iterate_Set(redis_coon.sinter('my_set_1', 'my_set_2')))  # {'2', '3'}
    redis_coon.sinterstore('my_set_4', 'my_set_1', 'my_set_2')
    print(Iterate_Set(redis_coon.smembers('my_set_4')))  # {'2', '3'}

    # my_set_4:{'2', '3'}
    print(Iterate_Set(redis_coon.sunion('my_set_3', 'my_set_4')))  # {'2', '3', '1', '4'}
    redis_coon.sunionstore('my_set_5', 'my_set_3', 'my_set_4')
    print(Iterate_Set(redis_coon.smembers('my_set_5')))  # {'2', '3', '1', '4'}

    """
    命令10:sismember(name, value)
           检查value是不是集合name中的元素
           返回值:布尔值
    命令11:smove(src, dst, value)
           将某个成员从src集合移动到dst集合
    命令12:spop(name)
           从集合中随机移出一个元素并返回
    命令13:srandmember(name, numbers)
           从集合name中随机获取numbers个元素
           返回值:是一个列表
    命令14:srem(name, values)
           从集合name中删除元素values
    """

    """
    my_set_1:{'1', '2', '3', '4'}
    my_set_2:{'2', '3'}
    my_set_3:{'1', '4'}
    my_set_4:{'2', '3'}
    my_set_5:{'2', '3', '1', '4'}
    """
    print(redis_coon.sismember('my_set_5', 3))  # True
    redis_coon.smove('my_set_3', 'my_set_4', 4)
    print(Iterate_Set(redis_coon.smembers('my_set_4')))  # {'4', '2', '3'}
    print(Iterate_Set(redis_coon.smembers('my_set_3')))  # {'1'}

    print(redis_coon.spop('my_set_1').decode())  # 2
    print(Iterate_Set(redis_coon.smembers('my_set_1')))  # {'3', '4', '1'}
    print(Iterate_ListOrDict(redis_coon.srandmember('my_set_5', number=2)))  # ['3', '2']

    redis_coon.srem('my_set_5', 1)
    print(Iterate_Set(redis_coon.smembers('my_set_5')))  # {'2', '3', '4'}


Set_operation()

Sorted Set 类型(有序集合)


  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-02-07 13:47:24  更:2022-02-07 13:48:56 
 
开发: 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/28 5:54:57-

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