redis学习-集合set常用命令

 

1.sadd:添加一个元素到集合中(集合中的元素无序的并且唯一)

2.smembers:查看集合中所有的元素(上图事例)

3.srem:删除结合中指定的元素

4.scard:返回集合元素的数量

5.SRandMember

如果不填写返回个数,默认是1,如果填写的数字大于集合的size,那么返回集合的所有元素

如果填写的是负数,如果绝对值大于集合的size,那么返回值里会出现一个元素多次出现的情况。

如果key不存在,则返回nil

smove:将一个集合的元素转移到另一个集合中

spop:从集合中随机移出一个元素

sismember:判断元素是否在集合中,如果存在 返回1,否则返回0

sscan:使用游标获取集合中的值

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
@Test
    public  void scantest(){
        Jedis jedis=new Jedis("127.0.0.1",6379);
//      jedis.select(2);
//      for (int i = 0; i < 100; i++) {
//          jedis.sadd("scantest","scanceshi"+i);
//      }
////        System.out.println(m2);
        int x=1;
        int y=0;
        int sum=0;
        ScanParams scanParams=new ScanParams();
        scanParams.match("scanceshi51");
        Set<String> strings=new TreeSet<String>();
        for(;;){
            ScanResult<String> scantest = jedis.sscan("scantest", y, scanParams);
            System.out.println(scantest.getStringCursor().toString()+"----------取出:"+scantest.getResult().size()+"----当前总数:"+(scantest.getResult().size()+sum));
            sum+=scantest.getResult().size();
            for (String o : scantest.getResult()) {
                strings.add(o);
            }
            if(scantest.getStringCursor().toString().equals("0")) break;
            y= Integer.parseInt(scantest.getStringCursor().toString());
        }
        System.out.println(strings.size());
        jedis.quit();
    }

  

从0开始,一直循环,会返回两个集合,第几个是游标的位置,如果为0那么说明执行结束,如果不为0,那么下次以第一个集合返回的值作为下次开始的位置如下

集合 并/交/差运算

SUNION:集合并运算

SUNIONSTORE:求并集后存到一个新的集合(如果结果集存入到已有的集合,那么会覆盖以后的数据集合)

sinter/sinterstore同上

sdiff/sdiffstore同上

redis学习-集合set常用命令的更多相关文章

  1. redis学习-散列表常用命令(hash)

    redis学习-散列表常用命令(hash)   hset,hmset:给指定散列表插入一个或者多个键值对 hget,hmget:获取指定散列表一个或者多个键值对的值 hgetall:获取所欲哦键值以及 ...

  2. redis学习(二) redis数据结构介绍以及常用命令

    redis数据结构介绍 我们已经知道redis是一个基于key-value数据存储的数据结构数据库,这里的key指的是string类型,而对应的value则可以是多样的数据结构.其中包括下面五种类型: ...

  3. 解析Redis操作五大数据类型常用命令

    摘要:分享经常用到一些命令和使用场景总结,以及对Redis中五大数据类型如何使用cmd命令行的形式进行操作的方法. 本文分享自华为云社区<Redis操作五大数据类型常用命令解析>,作者:灰 ...

  4. Redis的数据类型及其常用命令

    快速入门Redis 首先安装redis: windows下安装redis Linux下安装redis 1. 什么是redis Redis属于nosql(非关系型数据库) 关系型数据库是基于关系表的数据 ...

  5. redis的安装和常用命令

    一.redis的安装 1.windows安装redis 下载地址:https://github.com/MSOpenTech/redis/releases. Redis 支持 32 位和 64 位.这 ...

  6. Redis 几个类型常用命令

    Redis 字符串(String) 下表列出了常用的 redis 字符串命令: 序号 命令及描述1 SET key value 设置指定 key 的值2 GET key 获取指定 key 的值.3 G ...

  7. Redis基本类型与常用命令

    Redis基本类型一共有五类: 字符串类型(string): 散列类型(hash): 列表类型(list): 集合类型(sort): 有序集合类型(zset): 在redis中,所有的类型都是被以键值 ...

  8. 【redis】05Redis的常用命令及高级应用

    Redis常用命令     Redis提供了非常丰富的命令,对数据库和个中数据类型进行操作, 这些命令呢,可以在Linux终端使用. 分为两大类的命令,一种是键值相关的命令,一种是服务器相关的命令, ...

  9. Kafka学习之四 Kafka常用命令

    Kafka常用命令 以下是kafka常用命令行总结: 1.查看topic的详细信息 ./kafka-topics.sh -zookeeper 127.0.0.1:2181 -describe -top ...

随机推荐

  1. C++并发编程学习笔记

    // //  main.cpp //  test1 // //  Created by sofard on 2018/12/27. //  Copyright © 2018年 dapshen. All ...

  2. sys.stdout.flush-倒计时

    1. import sys for i in range(100): sys.stdout.write('{}/99\r'.format(i)) sys.stdout.flush() 2. impor ...

  3. usb设备(移动硬盘或U盘),弹出时提示“有进程或程序占用,无法弹出”。解决办法

    测试环境:Win7(其他Windows系统环境,也可参考) 总结办法来源,https://bbs.csdn.net/topics/392297251?page=1文章中热心网友的评论指引 1. 控制面 ...

  4. JavaScript进度条(datalist/repeater等多个进度条)

    JS代码: function SingleProgressBar() { var iload = document.getElementById("iLoading"); var ...

  5. 16. 3Sum Closest (JAVA)

    Given an array nums of n integers and an integer target, find three integers in nums such that the s ...

  6. QT Designer基础——登录界面设计基础版

    认识QT Designer提供的可选控件:以下八个大类 Layouts:布局相关 Spacers:留空 Buttons:可点击的按钮类 Item Views和 Item Widgets:高级控件,例如 ...

  7. 认识socket

    socket socket也称套接字,网络编程的基础.一般情况下我不喜欢直接去说socket的函数都是怎么用的,那个很多人都写出来了,而且肯定比我好的有的是. 但是今天想写的是我的理解中,产生sock ...

  8. 原型设计工具—Axure

    作为软件设计的一员,需要在软件开发初期确保软件的具体内容,防止后期大幅度的修改. 在这样的情况下,原型设计软件就起到了关键的作用. 摘要: 原型设计为什么这么重要呢? 因为它帮助我们搭建了低保真或高保 ...

  9. Vue-input框checkbox强制刷新

    在引用input框的checkbox属性时,选中后会出现数据已经刷新,checkbox选中状态不会改变.这时在事件触发后可以调用this.$forceUpdate(),强制刷新页面解决这个问题. in ...

  10. centos7下编译安装php7.3

    一.下载php7.3的源码 https://www.php.net/downloads.php 下载php-7.3.4.tar.gz 二.安装gcc,gcc-c++,kernel-devel yum ...