redis中的set类型

redis中set类型是一种无序集合,在redis内部通过HashTable实现,Set数据类型的优点是快速找到某个元素是否存在,用于记录一些不能重复的值,例如网站注册的时候用户名不能重复。

Set有如下命令

1、sadd key member     添加一个字符串类型的元素到key对应的set集合中。

2、scard key  返回set的元素个数

3、sismember key  m1  判定m1元素是否在key中的set中存在

4、smembers key 返回key对应set的所有元素,结果是无序的。

set类型在投票系统中也非常有用,比如一天之内一个用户只能投票一次,那么我们就可以使用日期每天当作一个key   ,用户的id就当作member来处理,要查看某个用户是否投票只需要sismember 日期  用户id即可,效率非常高!

时间: 2024-10-13 01:01:23

redis中的set类型的相关文章

辛星浅析Redis中的字符串类型

字符串类型是Redis中最为基础的数据存储类型,它在Redis中是二进制安全的,这就意味着该类型可以接受任何格式的数据,比如图像数据或者json对象等信息,在Redis中字符串类型的value最多可以容纳的数据长度为512M. 我们常用的命令如下: (1)append  key   value   如果该key已经存在,那么append命令会将参数value的值追加到已经存在的value的末尾,如果该key不存在,那么该命令会创建一个新的空字符串,并且把value追加到其末尾. (2)decr

redis中不同value类型的存取操作方式

public class CacheController { public static void main(String[] args) throws Exception { CacheClientHA client = new CacheClientHA("cache", true); // value为普通String类型 client.String().setex("string", 60, "aa"); String res1 = cl

Redis中有序集合的常用命令有哪些?

本文和大家分享的主要是redis 中有序集合类型的常用命令,一起来看看吧,希望对大家 学习redis有所帮助. 一.有序集合类型 有序集合类型,大家从名字上应该就可以知道,实际上就是在集合类型上加了个有序而已.Redis 中的有序集合类型,实际上是在集合类型上,为每个元素都关联一个分数,有序实际上说的是分数有序,我们根据分数的范围获取集合及其他操作.集合的元素依然是不能够相同的,但是分数可以相同. 下面列举有序集合和类型和列表类型的相似处: ① 两者都是有序的(废话!) ② 两者都可以获得某一范

Redis学习笔记(字符串类型常见命令操作)

Redis字符串类型常见命令操作 存取数据 存字符串类型数据: 取字符串类型数据: 当键不在的时候会返回空 如果重复向一个键中存数据,后存储的数据会覆盖前存储的数据 递增数字 当存的字符串是整数形式的时候,Redis提供一个: INCR命令    作用:让当前键值递增,并返回递增后的值 当要递增的键值不存在的时候,redis会自动存入这个键,默认值为0,并把值递增 键的命名 键名Redis没有强制要求,一般命名形式为: 对象类型:对象ID:对象属性 例如: user:1:name  使用这个来存

Redis中Key相关的常用指令详解

Redis是一个开源的使用ANSI C 语言编写.支持网络.同memcache相比在Redis下可以实现基于内存亦可持久化的日志型.Key-Value 类型的NoSQL数据库,且在Redis中Key的类型也更为丰富.所以较为广泛的在生产环境中使用,在这里就说一说Redis中Key相关的常用指令. 首先,先要说明下在Redis下Key,Redis的key是字符串类型,但是key 中不能包括边界字符(""),由于key 不是binary safe的字符串,所以像"my key&q

Redis 中可以存储的基本类型

引用自 Redis 数据类型 String(字符串) 二进制安全 可以包含任何数据,比如jpg图片或者序列化的对象,一个键最大能存储512M --- Hash(字典) 键值对集合,即编程语言中的Map类型 适合存储对象,并且可以像数据库中update一个属性一样只修改某一项属性值(Memcached中需要取出整个字符串反序列化成对象修改完再序列化存回去) 存储.读取.修改用户属性 List(列表) 链表(双向链表) 增删快,提供了操作某一段元素的API 1,最新消息排行等功能(比如朋友圈的时间线

辛星浅析Redis中与key有关的命令

在Redis中,我们还可以直接对key直接操作,下面是我们常用的主要命令: (1)keypattern   它表示获取所有匹配pattern的keys,这里需要注意的是,我们应该避免使用该命令,因为对于大型数据库而言,该命令非常耗时,对Redis服务器的性能打击也是比较大的.它支持glob-style的通配符格式,比如用*表示任意一个或者多个字符,用?表示任意字符,用[xyz]表示方括号中的任意一个字母. (2)del   key ....   它是从数据库中删除参数中指定的keys,如果指定的

Redis 中 5 种数据结构的使用场景介绍

这篇文章主要介绍了Redis中5种数据结构的使用场景介绍,本文对Redis中的5种数据类型String.Hash.List.Set.Sorted Set做了讲解,需要的朋友可以参考下 一.redis 数据结构使用场景 原来看过 redisbook 这本书,对 redis 的基本功能都已经熟悉了,从上周开始看 redis 的源码.目前目标是吃透 redis 的数据结构.我们都知道,在 redis 中一共有5种数据结构,那每种数据结构的使用场景都是什么呢? String——字符串 Hash——字典

Redis 四:存储类型之有序集合

有序集合似乎更大的操作是由于加了一个叫做“分子”的东西 事实上就好像普通的数据,只是为这个数据加了一个纯数字的标识, 通过操作这些标识来得到我们想要的数据! 分子可以是整形,也可以是双精度浮点型: ==================================================== 1.zadd num 100 a 80 b 70 c 添加一个叫num的有序集合,a元素为100分,b元素为80分.... 2.zscore num a 获取num集合中元素名为a的分子 ====