文档章节

判断Redis有序集合中是否存在某个成员的方法

ZYallers
 ZYallers
发布于 2017/07/25 15:24
字数 303
阅读 88
收藏 0

判断Redis有序集合中是否存在某个成员的方法

方法一

有序集合中,redis没有命令直接判断有序集合中是否存在某个成员,但可以借助ZLEXCOUNT命令实现:http://redis.cn/commands/zlexcount.html

ZLEXCOUNT key min max

  • 有序集合中成员名称 min 和 max 之间的成员数量; Integer类型。

命令使用示例如下:

127.0.0.1:6379> zrevrange zsetkey 0 -1
1) "e"
2) "d"
3) "c"
4) "b"
5) "a"
127.0.0.1:6379> zlexcount zsetkey [a [a
(integer) 1 # 存在
127.0.0.1:6379> zlexcount zsetkey [m [m
(integer) 0 # 不存在

php代码示例如下:

public function checkExists($zsetkey, $member, $redis)
{
    $ret = intval($redis->zLexCount($zsetkey, '['.$member, '['.$member));
    return $ret > 0 ? true : false;
}

方法二

使用redis有序集合的ZSCORE命令实现:http://redis.cn/commands/zscore.html

ZSCORE key member

  • 返回有序集key中,成员member的score值。
  • 如果member元素不是有序集key的成员,或key不存在,返回nil。

命令使用示例如下:

127.0.0.1:6379> zadd myzset 1 "one"
(integer) 1
127.0.0.1:6379> zscore myzset "one"
"1"
127.0.0.1:6379> zscore myzset "two"
nil

php代码示例如下:

public function checkExists($zsetkey, $member, $redis)
{
    $ret = $redis->zScore($zsetkey, $member);
    return false === $ret ? false : true;
}

参考资料

© 著作权归作者所有

共有 人打赏支持
ZYallers
粉丝 1
博文 59
码字总数 19100
作品 0
佛山
程序员
Redis学习笔记之Redis数据类型(四)

Redis的五大数据类型 1.1 String(字符串) String(字符串) string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value。 string类型是二进制安全的。意思...

残风vs逝梦
2016/08/07
44
0
使用RedisTemplate访问Redis数据结构

Class RedisTemplatejava.lang.Object redisTemplate.opsForHash();//操作hashredisTemplate.opsForList();//操作listredisTemplate.opsForSet();//操作setredisTemplate.opsForZSet();//操作......

u010398771
04/26
0
0
redis指令

连接控制 QUIT 关闭连接 AUTH (仅限启用时)简单的密码验证 适合全体类型的命令 EXISTS key 判断一个键是否存在;存在返回 1;否则返回0; DEL key 删除某个key,或是一系列key;DEL key1 key2 key...

庞陆阳
2016/10/27
1
0
redis系列:通过文章点赞排名案例学习sortedset命令

前言 这一篇文章将讲述Redis中的sortedset类型命令,同样也是通过demo来讲述,其他部分这里就不在赘述了。 项目Github地址:https://github.com/rainbowda/learnWay/tree/master/learnRedis/...

云枭zd
07/27
0
0
redis系列(二)- 语法与命令

redis系列文章: redis系列(一)- 安装与启动 redis系列(二)- 语法与命令 一、简述 Redis支持的键值类型有:String字符类型、map散列类型、list列表类型、set集合类型、sortedset有序集合...

CSDN_LQR
2017/09/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

学习设计模式——命令模式

参考博客 1. 认识命令模式 1. 定义:将一个请求封装成为一个对象,从而可以用不同的请求对客户进行参数化,对请求排队或记录请求日志,并支持可撤销操作。 2. 组织结构: Commond:定义命令的...

江左煤郎
14分钟前
0
0
字典树收集(非线程安全,后续做线程安全改进)

将500W个单词放进一个数据结构进行存储,然后进行快速比对,判断一个单词是不是这个500W单词之中的;来了一个单词前缀,给出500w个单词中有多少个单词是该前缀. 1、这个需求首先需要设计好数据结...

算法之名
昨天
6
0
GRASP设计模式

此文参考了这篇博客,建议读者阅读原文。 面向对象(Object-Oriented,OO)是当下软件开发的主流方法。在OO分析与设计中,我们首先从问题领域中抽象出领域模型,在领域模型中以适当的粒度归纳...

克虏伯
昨天
0
0
Coding and Paper Letter(四十)

资源整理。 1 Coding: 1.Tomislav Hengl撰写的非官方作者指南:Michael Gould•Wouter Gerritsma。 UnofficialGuide4Authors 2.R语言包rwrfhydro,社区贡献的工具箱,用于管理,分析和可视化...

胖胖雕
昨天
0
0
JAVA 内存回收

参考:https://www.cnblogs.com/leesf456/p/5218594.html 1,JMV 中哪些可以作为 GC Root? 1. 虚拟机栈(栈帧中的局部变量区,也叫做局部变量表)中引用的对象。 2. 方法区中的类静态属性引...

Carlyle_Lee
昨天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部