C++ redis zset 判断特定value是否存在
来源:互联网 发布:数据字典模板 编辑:程序博客网 时间:2024/06/05 04:54
背景说明:
创建了一个Zset (fund.info) ,在对fund.info使用zadd(“thisisatest”)之前,先检查fund.info里面是否已存在value值为"this is a test"的member;
我首先从网上搜索相关的信息,没找到多少消息。
只 找到了 基于JAVA :http://blog.csdn.net/sparkexpert/article/details/78351558
刚开始我参考他的作法使用zrank进行判断
// 比较strzsetvalue在zset 中的排位,如果>=0,则说明存在if (pClient->zrank("fund.info","thisisatest") >= 0){}else // 反之则不存在{pClient->zadd("fund.info",100.00,"thisisatest");}这里出现了一个问题,当我的fund.info不存在“thisisatest”时,zrank()函数会直接报错“unexpected prefix for integer reply”;
这个问题还不清楚原因,有大神帮忙解释下嘛?
下面贴出我的解决办法:
PS:我的解决办法只用来判断fund.info最后一个member和要插入的值是否匹配重复。如果你想与fund.info的全部member匹配重复,可以通过循环来匹配;
bool isRepeatData = false;// 先判断fund.info是否存在memberif (pClient->zcard("fund.info") > 0){std::vector<std::string> vSecondDataEx;pClient->zrange(strZsetName,-1,-1,vSecondDataEx); // 取最后的memberif (vSecondDataEx[0] == "thisisatest") // 用最后的member的value值与要插入的value值比较{isRepeatData = true;}}if (isRepeatData) // 如果是重复数据则直接返回{return ;}pClient->zadd("fund.info",100.00,"thisisatest");
阅读全文
0 0
- C++ redis zset 判断特定value是否存在
- C 判断文件是否存在
- 【C++】判断本地文件是否存在
- 判断某特定值是否存在于vector中
- php 判断memcache key/value是否存在方法
- php中判断memcache中key,value是否存在
- C VC++ 下判断目录是否存在
- C/C++判断文件/文件夹是否存在
- c#---判断文件或者文件夹是否存在
- C/C++判断文件/文件夹是否存在
- C语言判断文件是否存在
- 【转】C语言判断文件是否存在
- C语言判断文件是否存在
- [C++] C++ 判断目录是否存在
- C语言判断目录是否存在
- C语言判断文件是否存在
- linux C判断文件是否存在
- 标准c判断目录是否存在
- 菜单收敛
- 安卓系统添加dropbear实例
- 412. Fizz Buzz
- 求解一元二次方程、float与0比较大小
- python dict setdefault() 用法
- C++ redis zset 判断特定value是否存在
- Fibonacci数列第n个数除以10007的余数
- Noip 提高组 2014 Day2 T3 解方程 同余系
- ubuntu下安装包依赖关系(问题)& apt包管理工具(解决方法)
- EventBus使用
- python os操作
- tomcat把项目放到非webapp目录下且访问路径隐藏项目名|tomcat读取自定义路径下的项目|tomcat设置虚拟目录
- mfc CtreeCtrl上添加图标、将一个对话框放在另一个对话框上、CTreeCtrl响应不同的节点
- R的相关统计函数总结