PHP redis 批量操作
参考网站
phpredis扩展 :https://github.com/phpredis/phpredis#pconnect-popen
命令参考:http://doc.redisfans.com redis
redis 操作异常总结
1.获取的key存在,使用了错误的方法,如:string 用hashes的方法,返回false。
2.获取不存在的key false。
3.设置不存在的key,写入值,返回1,如果存在替换,返回0。使用hSetNx类型的函数,存在返回false不设置值,反之true设置值。
redis 批量测试
// 批量
$redis = new \Redis();
$redis->pconnect('127.0.0.1');
$redis->auth('111111');
$ts = microtime(true);
var_dump($ts);
$redis->multi();
for ($i=0; $i < 1000; $i++) {
$redis->set('key1', 'val1');
$redis->get('key1');
$redis->del('key1');
}
$redis->exec();
$df = microtime(true) - $ts;
var_dump($df);
// var_dump($ret);
// die;
// 单个
$redis = new \Think\Cache\Driver\Redis();
$ts = microtime(true);
var_dump($ts);
for ($i=0; $i < 1000; $i++) {
$redis->set('key1', 'val1');
$redis->get('key1');
$redis->del('key1');
}
$df = microtime(true) - $ts;
var_dump($df);
die;
结果 批量: float(1.11732006073) 单个: float(1.2670619487762) 可以在phpredis扩展使用中看出批量和单个并没有太大时间上的
差别和http://my.oschina.net/u/2273085/blog/419920,此网友结论相差很大,也许是PHP自身的问题,不得而知。
redis 操作常规返回情况
// redis 获取key类型错误返回false
$keyString = '13999999999';
$keyHash = 'ThumbnailServerList';
$redisCache = new \Think\Cache\Driver\Redis();
$return = $redisCache->hGetAll($keyString, $value);
var_dump($return);
$return = $redisCache->hGetAll($keyHash, $value);
var_dump($return);
$return = $redisCache->get($keyString, $value);
var_dump($return);
$return = $redisCache->get($keyHash, $value);
var_dump($return);
die;
结果:bool(false) bool(false) string(43) "9c8d83f5890611e45538a744eb1b036b156790b7533" bool(false) 获取类型错误返回false,不存在也是false。
PHP redis 批量操作的更多相关文章
- 第四节:Geo类型介绍以及Redis批量操作、事务、分布式锁
一. Geo类型 1. 类型说明 Geo 是 Redis 3.2 版本后新增的数据类型,用来保存兴趣点(POI,point of interest)的坐标信息.可以实现计算两 POI 之间的距离.获取 ...
- redis批量操作
由于redis没有批量删除命令,所以借助xargs redis-cli -h 127.0.0.1 keys testdata_2018* |xargs redis-cli -h 127.0.0.1 d ...
- Linux+Redis实战教程_day02_消息订阅与发布_多数据库_redis批量操作-事务_redis持久化
5.扩展知识-消息订阅与发布(了解) 订阅新闻,新闻发布 subscribe channel:订阅频道,例:subscribe mychat,订阅mychat这个频道 psubscribe chann ...
- 【spring boot】spring boot 基于redis pipeline 管道,批量操作redis命令
spring boot 2.x 使用RedisTemplate 操作 =================================== 1.pom.xml <!--spring2.0集成r ...
- Redis数据结构详解(一)
前言 Redis和Memcached最大的区别,Redis 除啦支持数据持久化之外,还支持更多的数据类型而不仅仅是简单key-value结构的数据记录.Redis还支持对这些数据类型做更多的服务端操作 ...
- Redis数据结构
Redis数据结构 Redis数据结构详解(一) 前言 Redis和Memcached最大的区别,Redis 除啦支持数据持久化之外,还支持更多的数据类型而不仅仅是简单key-value结构的数据 ...
- C#之Redis为所欲为
一 Redis是一种支持多种数据结构的键值对数据库 1.1Redis下载地址 :https://github.com/MicrosoftArchive/Redis 建议下载 .msi结尾的应用程序进行 ...
- C#之Redis所欲为
一 Redis是一种支持多种数据结构的键值对数据库 1.1Redis下载地址 :https://github.com/MicrosoftArchive/Redis 建议下载 .msi结尾的应用程序进行 ...
- Redis的数据类型之String
Redis主要支持的数据类型有5种:String ,Hash ,List ,Set ,和 Sorted Set. Redis数据类型String string类型在redis中是最常见的类型,valu ...
随机推荐
- mybatis使用generator生成对应的model、mapping配置文件、dao
http://blog.csdn.net/fengshizty/article/details/43086833 使用时 补充 输入命令:cd d:\generator 敲回车 再输入命令:d: 敲 ...
- R画图中英文字体完美解决方案
在某些时候,需要在R画图中添加中文,但是默认情况下,R对中文的支持不好. 当用R画PDF图,并且图中有中文的时候,安装并加载如下包library(showtext)然后:showtext.auto(e ...
- rethinkdb的dataexplorer查询使用
首先安装rethinkdb(只有linux和mac能够安装) $ sudo apt-get install rethinkdb 然后启动: $ rethinkdb 此时8080端口就可以访问本机的数据 ...
- java.lang.classNotFound:明明已经导入了jar包,包里也有该类,却找不到的解决方法
试一下:在web-inf文件夹下新建lib文件夹:将所有需要用到的jar包放在lib中,重启tomcat.
- a error of misunderstanding
Last summer vacation, a classmate contacted with me and we finished a intelligent car project with i ...
- c++实现简单的链表
注:我是一个编程菜鸟,哪个大神看出来缺陷提点一下,感激不尽. 链表由一个个的节点串联而成,同一由first头指针管理,属于线性表中相比于数组,添加删除方便,但访问又有点慢的数据结构. 第一步:节点 N ...
- Generate Time Data(普通日期主数据)
Note: While using this option you need to replicate the standard table into SAP HANA that is T005T, ...
- mysql 数据库 表字段添加表情兼容
项目中的几个需要支持Emoji表情符号,手机自带的表情,其实添加也很简单: 1 修改数据库 配置my.cnf init-connect='SET NAMES utf8mb4' ...
- HTML 在安卓手机端软键盘弹出顶起页面布局的解决办法
$('body').height($('body')[0].clientHeight); 以上是背景即BODY被顶起的解决办法. 如果是footer被顶起,则可以用判断解决, $('input').f ...
- css清除浮动float的三种方法总结,为什么清浮动?浮动会有那些影响?一起来$('.float')
一.抛一块问题砖(display: block)先看现象: 分析HTML代码结构: <div class="outer"> <div class=&quo ...