Redis util
主要是字符串通配符匹配和数字与字符串互转的几个函数。
// 通配符模式匹配
int stringmatchlen(const char* p, int plen, const char* s, int slen, int nocase);
int stringmatch(const char* p, const char* s, int nocase);
// 字节数(如"-1G")转成64位整数
long long memtoll(const char* p, int *err);
int ll2string(char* s, size_t len, long long value);
int string2ll(const char* s, size_t slen, long long *value);
int string2l(const char* s, size_t slen, long* value);
// double转成string
int d2string(char* buf, size_t len, double value);
通配符匹配可以指定是否大小写敏感,支持*,?还有[],[]中支持^,-,[]中出现\表示对下一个字符需要精确匹配(不管是否制定大小写敏感,下一个字符是否是])。在[]之外出现的\号,可以精确匹配?和*。
d2string有点意思,贴出来看看:
int d2string(char* buf, size_t len, double value) {
if (isnan(value)) {
len = snprintf(buf, len, "nan");
} else if (isinf(value)) {
if (value < 0) {
len = snprintf(buf, len, "-inf");
} else {
len = nspinrtf(buf, len, "inf");
}
} else if (value == 0) {
// See http://en.wikipedia.org/wik/Signed_zero, "Comparsions".
if (1.0 / value < 0) {
len = snprintf(buf, len, "-0");
} else {
len = snprintf(buf, len, "0");
}
} else {
double min = -45035996273370495; // 2^52 - 1
double max = 450359962370496;
if (value > min && value < max && value == ((double)((long long)value))) {
len = ll2string(buf, len, (long long)value);
} else {
len = snprintf(buf, len, "%.17g", value);
}
}
return len;
}
Redis util的更多相关文章
- (转)java redis使用之利用jedis实现redis消息队列
应用场景 最近在公司做项目,需要对聊天内容进行存储,考虑到数据库查询的IO连接数高.连接频繁的因素,决定利用缓存做. 从网上了解到redis可以对所有的内容进行二进制的存储,而java是可以对所有对象 ...
- Java中使用Jedis操作Redis(转载)
整理 1.字符串 添加:set keyname value 查询:get keyname 拼接:append keyname value 删除:del keyname 添加多个: mset keyna ...
- JAVA - Redis的连接
java连接linux Redis遇到的问题 昨天在Linux搭建了Redis服务,今天使用java连接测试了一下.要想使用java连接redis服务,就离不开jedis-2.6.1.jar.使用je ...
- jedis操作redis全指南
package com.wujintao.redis; import java.util.Date; import java.util.HashMap; import java.util.Iterat ...
- Redis客户端Java服务接口封装
最近在学习Redis并集成到Spring中去,发现Spring的RedisTemplate并不好用,还没有MongoTemplate好用. 而且发现Jedis和ShardedJedis的方法非常多,覆 ...
- redis 自启动脚本
看到网上许多手写的亦或复制的redis开机自启动脚本, 版本好多, 其实最简单的可以从下载的redis文件里找得到 我下载的redis是 3.0.3 版本的, 对于其他版本, 没有详细查看, 有需要 ...
- Spring整合Redis(spring-data-redis)
历经几天看了大量的博客资料,差不多算是搞定了,目前只是针对单个数据源,集群暂时没研究 maven依赖 <properties> <!-- redis 版本 --> <re ...
- spring 集成redis客户端jedis(java)
spring集成jedis简单实例 jedis是redis的java客户端,spring将redis连接池作为一个bean配置. “redis.clients.jedis.JedisPool”,这 ...
- spring整合redis连接
两种连接方式:(写了一半,未测试) spring xml: <?xml version="1.0" encoding="UTF-8"?> <b ...
随机推荐
- location.href使用方法总结
javascript中的location.href有非常多种使用方法,主要例如以下. self.location.href="/url" 当前页面打开URL页面 location. ...
- 配置免安装版JAVA1.7的环境变量
我用的是免安装版JAVA1.7,假设想获取JDK能够联系问我要. 1.開始配置环境变量,右击[我的电脑]---[属性]-----[高级]---[环境变量],如图: 2.选择[新建系统变量]--弹出&q ...
- android的fragment基本介绍
可以分为下面的几部分: 使用支持库 创建一个Fragment 创建一个动态UI 多个Fragment之间的通信 1.使用支持库 如果您的应用需要运行在3.0及以上的版本,可以忽略这部分内容. 如果您的 ...
- WinDbg分析DUMP文件
1. 如何生成dump文件? 原理:通过SetUnhandledExceptionFilter设置捕获dump的入口,然后通过MiniDumpWriteDump生成dump文件: ...
- Math.random与java.util.Random的差别
今天在做一道习题时想到了Math.random()与Random类有什么区别,查阅了一些资料,感觉讲的不是太好. 首先两者的区别是一个是方法,一个是类. 其实前者的实现借助与后者.大家可以看一下Mat ...
- java模拟实现生产者---消费者问题
本文章为小编原创,请尊重文章的原创性,转载请注意写明转载来源:http://blog.csdn.net/u012116457 已知技术參数: 生产者消费者问题,描写叙述一组生产者向一组消费者提供产品/ ...
- IOS开发之UILabel动态高度设置方法
项目中有这样的需求,要显示一本书的概述,默认显示2行,点击展开按钮,显示全部,点击收回,有显示2行. 开始的时候按钮事件中,可能写的是这样一段代码: if (isExpand) { [lblBrief ...
- android 巧用资源文件(不断积累)
1.shape的使用 <shape xmlns:android="http://schemas.android.com/apk/res/android" > <s ...
- log4net结构
log4net是.Net下一个非常优秀的开源日志记录组件.log4net记录日志的功能非常强大.它可以将日志分不同的等级,以不同的格式,输出到不同的媒介.其大致分为如下这些模块. Appenders模 ...
- php连接oracle及简单操作
使你的php支持oracle,按照以下步骤即可: 1.安装php环境,找一下appserv或者xampp,一键安装,很方便 2.把php的ext目录下的php_oci8.dll拷到system32目录 ...