`
xuelianbobo
  • 浏览: 175220 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

redis渐入佳境(04) sets类型

阅读更多

redis的sets类型,sets类型就是集合类型,类似数学里面的集合,无序不重复的一组数据下面将介绍一下sets的各种常用防范

首先就是 sadd 和 smembers 方法  使用方法如下:

sadd 集合名  集合中的元素   返回1表示加入成功 返回0加入失败

smembers 集合名  查看集合中的所有元素 

 具体代码如下

[redies@localhost ~]$ redis-cli
redis 127.0.0.1:6379> sadd myset1 one
(integer) 1
redis 127.0.0.1:6379> sadd myset1 two
(integer) 1
redis 127.0.0.1:6379> sadd myset1 three
(integer) 1
redis 127.0.0.1:6379> sadd myset1 four
(integer) 1
redis 127.0.0.1:6379> sadd myset1 five
(integer) 1
redis 127.0.0.1:6379> smembers myset1
1) "four"
2) "three"
3) "two"
4) "one"
5) "five"
redis 127.0.0.1:6379>

srem 方法是移除一个元素 srem 集合名 元素名,

spop是随机弹出一个元素

[redies@localhost ~]$ redis-cli
redis 127.0.0.1:6379> smembers myset1
1) "four"
2) "three"
3) "two"
4) "one"
5) "five"
redis 127.0.0.1:6379> srem myset1 one
(integer) 1
redis 127.0.0.1:6379> smembers myset1
1) "two"
2) "four"
3) "three"
4) "five"
redis 127.0.0.1:6379> spop myset1
"three"
redis 127.0.0.1:6379> smembers myset1
1) "four"
2) "two"
3) "five"
redis 127.0.0.1:6379>

sdiff 方法是取差集,方法:sdiff 集合1 集合2  返回结果为集合1中存在而集合2中不存在的元素

sdiffstore方法是取差集并放入到另一个集合中 方法:sdiffstore 集合3 集合1 集合2  将集合1中存在而集合2中不存在的元素放入集合3中

redis 127.0.0.1:6379> smembers myset1
1) "four"
2) "two"
3) "five"
redis 127.0.0.1:6379> smembers mykey2
1) "four"
2) "six"
3) "one"
redis 127.0.0.1:6379> sdiff myset1 mykey2
1) "five"
2) "two"
redis 127.0.0.1:6379> sdiffstore myset2 myset1 mykey2
(integer) 2
redis 127.0.0.1:6379> smembers myset2
1) "five"
2) "two"
redis 127.0.0.1:6379>

sinter方法是取交集,方法如下 sinter 集合1 集合2  返回两者的交接元素

sinterstore方法是取交集并将交集元素存放到第三个集合中 方法如下:sinterstore 集合3 集合2 集合1 ; 集合1 集合2的交集放入集合3中

实例代码如下:

redis 127.0.0.1:6379> smembers myset1
1) "four"
2) "two"
3) "five"
redis 127.0.0.1:6379> smembers mykey2
1) "four"
2) "six"
3) "one"
redis 127.0.0.1:6379> sinter myset1 mykey2
1) "four"
redis 127.0.0.1:6379> sinterstore myset3 myset1 mykey2
(integer) 1
redis 127.0.0.1:6379> smembers myset3
1) "four"
redis 127.0.0.1:6379>

suion 是取并集 用法如下:sunion 集合1 集合2   返回两者的并集

sunionstore 是取并集并存入第三个集合中 用法如下:sunionstore 集合3 集合1 集合2;将集合1 集合2 的并集放入到集合3中

redis 127.0.0.1:6379> smembers myset1
1) "four"
2) "two"
3) "five"
redis 127.0.0.1:6379> smembers mykey2
1) "four"
2) "six"
3) "one"
redis 127.0.0.1:6379> sunion myset1 mykey2
1) "six"
2) "four"
3) "five"
4) "two"
5) "one"
redis 127.0.0.1:6379> sunionstore myset4 myset1 mykey2
(integer) 5
redis 127.0.0.1:6379> smembers myset4
1) "six"
2) "four"
3) "five"
4) "two"
5) "one"
redis 127.0.0.1:6379>

smove是将集合1中的元素移动到集合2中 方法如下:smove 集合1  集合2  元素x;

redis 127.0.0.1:6379> smembers myset1
1) "four"
2) "two"
3) "five"
redis 127.0.0.1:6379> smembers mykey2
1) "four"
2) "six"
3) "one"
redis 127.0.0.1:6379> smove myset1 mykey2 two
(integer) 1
redis 127.0.0.1:6379> smembers myset1
1) "four"
2) "five"
redis 127.0.0.1:6379> smembers mykey2
1) "four"
2) "six"
3) "two"
4) "one"
redis 127.0.0.1:6379>

scard是返回集合的元素个数:方法是scard 集合名;

sismember是查看某个元素是否是集合的一个元素:方法是 sismember 集合名 元素;

srandmember 是随机显示一个集合的元素:srandmember 集合名;

redis 127.0.0.1:6379> smembers myset1
1) "four"
2) "five"
redis 127.0.0.1:6379> smembers mykey2
1) "four"
2) "six"
3) "two"
4) "one"
redis 127.0.0.1:6379> scard myset1
(integer) 2
redis 127.0.0.1:6379> scard mykey2
(integer) 4
redis 127.0.0.1:6379> sismember myset1 four
(integer) 1
redis 127.0.0.1:6379> sismember myset1 four1
(integer) 0
redis 127.0.0.1:6379> SRANDMEMBER myset1
"four"
redis 127.0.0.1:6379> SRANDMEMBER myset1
"five"
redis 127.0.0.1:6379> SRANDMEMBER myset1
"five"
redis 127.0.0.1:6379>

 

分享到:
评论

相关推荐

    Redis学习资料

    Redis学习手册 Sorted Sets数据类型 doc Redis学习手册 String数据类型 doc Redis学习手册 主从复制 doc Redis学习手册 事务 doc Redis学习资料 rar redis讲义 doc">redis 2 8 13 tar gz redisbin x32 zip redisbin ...

    Redis中的String类型及使用Redis解决订单秒杀超卖问题

    本系列将和大家分享Redis分布式缓存,本章主要简单介绍下Redis中的String类型,以及如何使用Redis解决订单秒杀超卖问题。 Redis中5种数据结构之String类型:key-value的缓存,支持过期,value不超过512M。 Redis是...

    Redis数据类型视频

    在本课程中,你将了解Redis是什么、能干什么、如何用,了解NoSQL的使用场景和概念,快速掌握Redis的安装配置、五大数据类型、常用操作命令、Redis持久化、主从复制、事务控制以及用Jedis操作进行Java开发等知识。...

    Java redis五种数据类型在Java中的详细使用

    它支持五种基本数据类型:字符串(Strings)、哈希(Hashes)、列表(Lists)、集合(Sets)和有序集合(Sorted Sets)。在Java中,我们通常使用Jedis库来操作Redis。下面将详细介绍这五种数据类型在Java中的使用方法。 1. ...

    Go-redis-Golang的类型安全Redis客户端

    Go-redis是Golang语言中一个流行的Redis客户端库,它为开发者提供了类型安全的API,使得在使用Redis进行数据操作时能更好地防止错误并提升代码的可读性。本篇文章将深入探讨Go-redis库的核心特性、安装与使用、基本...

    redis实战 红豆出品 兄弟连redis

    它支持存储的值包括字符串(strings)、哈希(hashes)、列表(lists)、集合(sets)、有序集合(sorted sets)、位图(bitmaps)、超日志(hyperloglogs)、地理空间索引(geospatial indexes)等数据类型,适用...

    c#操作Redis的5种基本类型汇总

    String类型是Redis最为基础的类型,功能强大,可以存储任意格式的数据,比如文本、数字,甚至是二进制文件。在C#中,通过使用如ServiceStack.Redis等第三方库,可以非常方便地操作Redis。例如,我们可以使用以下代码...

    php 连接redis的相关数据类型和函数实例(超详细)

    Redis中的字符串是最基本的数据类型,你可以使用`set()`和`get()`来设置和获取值: ```php $redis->set('key', 'value'); $value = $redis->get('key'); ``` ### 列表(Lists) 列表是有序的元素集合,支持左推(`...

    php 操作redis五大数据类型实例

    本资源主要是php 操作redis五大数据类型的实例,供参考 redis安装请移步 https://blog.csdn.net/xxs18326183038/article/details/80599080

    Redis数据库从入门到实践.pptx

    * 有序集合(Sorted Sets):Redis的有序集合类型是一种元素有序的集合,每个元素都有一个分数(Score)与之关联。有序集合支持添加、删除、查找等操作,还可以根据分数进行排序。 Redis数据库的应用场景: * 使用...

    Redis从入门到精通视频.zip

    04redis数据库特点简介 05安装redis数据库 06回顾安装redis 07启动redis服务 08关闭redis服务 09redis客户端 10退出redis客户端 11redis的基本知识1 12redis的基本知识2 13redis的基本知识3 14redis的五种数据结构1 ...

    redis-windows-Redis7.0.0.zip

    首先,Redis支持多种数据类型,包括字符串(Strings)、哈希(Hashes)、列表(Lists)、集合(Sets)和有序集合(Sorted Sets)。这些数据类型不仅满足基本的键值存储需求,还能处理更复杂的数据操作,如列表的推入...

    C#操作Redis明细内容 C#调用redis c#使用redis业务 C# Redis操作类 C#中Redis封装的类 C#

    Redis 支持的数据类型有哪些?1)String(字符类型) 2)Hash(散列类型) 3)List(列表类型) 4)Set(集合类型) 5)SortedSet(有序集合类型,简称zset) 6)Bitmap(位图) 7)HyperLogLog(统计) 8)GEO(地理) 包括c#引用...

    Redis实战_Redis实战中文完整版_Redis快速入门_Redis数据类型及操作_Redis常用

    2. **Redis数据类型及操作**:这是Redis的核心部分,包括五大数据类型: - **字符串(String)**:最基础的数据类型,支持设置、获取、增加、减少等操作。 - **哈希(Hash)**:用于存储键值对集合,适用于存储对象。 ...

    SpringDataRedis对Redis的数据类型的常用操作API的使用代码举例.zip

    这个压缩包文件“SpringDataRedis对Redis的数据类型的常用操作API的使用代码举例.zip”显然包含了关于如何利用Spring Data Redis进行Redis数据类型操作的示例代码。下面我们将深入探讨Spring Data Redis对Redis主要...

    Redis的基本数据类型,持久化

    Redis的基本数据类型,持久化

    RedisJSON-Redis 的 JSON 数据类型.zip

    RedisJSON 概述RedisJSON 是一个Redis模块,它将ECMA-404 JSON 数据交换标准实现为原生数据类型。它允许从 Redis 键(文档)存储、更新和获取 JSON 值。主要特征全面支持 JSON 标准用于选择文档内元素的JSONPath语法...

    最全的Java操作Redis的工具类,利用StringRedisTemplate实现,封装了对Redis五种基本类型的各种操作!.zip

    最全的Java操作Redis的工具类,利用StringRedisTemplate实现,封装了对Redis五种基本类型的各种操作!Redis实用工具当前版本1.1 增加更全的方法,对之前的部分方法进行了规范命名,请放心替换成新版本。 Redis知识...

    redis数据类型指令整理

    本文档将对Redis的数据类型和相关指令进行整理。 在探讨具体数据类型和指令前,首先要了解Redis键(key)的概念。Redis的key是字符串类型,但不允许包含换行符和空字符等边界字符。由于Redis对key的值是二进制安全...

    Redis使用教程,详解

    Redis 是一个高性能的键值存储数据库,支持多种数据类型,包括字符串、散列、列表、集合、有序集合等。Redis 的应用场景非常广泛,包括缓存、任务列表、网站访问统计数据、过期处理、应用排行榜、分布式集群架构中的...

Global site tag (gtag.js) - Google Analytics