Redis
代码一天不写我浑森蓝廋
防民之口,甚于防川。川壅而溃,伤人必多,民亦如之。
展开
-
Redis中Lua脚本是如何保证操作的原子性的
Redis使用同一个Lua解释器来执行所有命令,同时,Redis保证以一种原子性的方式来执行脚本:当lua脚本在执行的时候,不会有其他脚本和命令同时执行,这种语义类似于 MULTI/EXEC。从别的客户端的视角来看,一个lua脚本要么不可见,要么已经执行完。然而这也意味着,执行一个较慢的lua脚本是不建议的,由于脚本的开销非常低,构造一个快速执行的脚本并非难事。但是你要注意到,当你正在执行一个比较慢的脚本时,所以其他的客户端都无法执行命令。参考:https://redis.io/command.原创 2020-08-22 14:20:49 · 14447 阅读 · 1 评论 -
Redis Desktop Manager报错:Connection error: The proxy type is invalid for this operation
redis-cli可以正常连接,但Redis Desktop Manager0.9.8却连接不上报上面这个错,最后发现把我的fiddler抓包软件关掉就可以正常连接了,之后再打开fiddler也没事了,或者降为0.8.x版本也没这个问题,总之很神仙。。。。...原创 2019-10-18 15:02:06 · 2677 阅读 · 2 评论 -
php向redis list一次性lPush多个值
php redis扩展没有介绍向list中一次性push多个值的用法,但其实lPush和rPush是支持push多个值的,文档中有介绍lPush- Prepend one or multiple values to a listrPush- Append one or multiple values to a list用法也很简单,看示例代码:<?php$red...原创 2019-03-28 00:19:31 · 14976 阅读 · 1 评论 -
使用原生PHP编写Redis扩展(客户端)介绍
Redis是典型的C/S架构软件,Client 和 Server 之间通过TCP连接进行通信,所以原则上只要是支持socket编程的语言都可以用来编写Redis的客户端,PHP自然也不例外,只是一般我们习惯上或出于性能考虑,使用C编写的Redis扩展。PHP可以使用简单易用的 stream_socket_* 族函数来进行socket编程比如连接Redis服务器(假设为12原创 2017-12-07 17:22:54 · 2950 阅读 · 1 评论 -
Redis遍历所有key的两个命令 -- KEYS 和 SCAN
当我们需要遍历Redis所有key或者指定模式的key时,首先想到的是KEYS命令:KEYS pattern官网对于KEYS命令有一个提示: KEYS 的速度非常快,例如,Redis在一个有1百万个key的数据库里面执行一次查询需要的时间是40毫秒 。但在一个大的数据库中使用它仍然可能造成性能问题,如果你需要从一个数据集中查找特定的 KEYS, 你最好还是用 Redis 的集合原创 2017-07-07 11:20:09 · 139127 阅读 · 5 评论 -
Redis地理空间(geospatial)介绍和简单使用
在Redis最新的3.2版本中加入了地理空间(geospatial)以及索引半径查询的功能,这在需要地理位置的应用上或许可以一展身手,先来看下官网对geospatial的介绍Adds the specified geospatial items (latitude, longitude, name) to the specified key. Data is stored into t原创 2017-06-10 20:34:43 · 13197 阅读 · 2 评论 -
Redis中lua脚本使用
Redis从2.6版本开始内置了一个lua脚本解释器,这让Redis在一定程度上成为一门可编程的数据库,如同Oracle的pl/sql,下面简单介绍下该特性Redis执行lua脚本主要依靠两个命令:EVAL和EVALSHAEVAL 和 EVALSHA 命令是从 Redis 2.6.0 版本开始的,使用内置的 Lua 解释器,可以执行 Lua 脚本。EVAL原创 2017-06-12 15:40:55 · 1337 阅读 · 0 评论 -
redis中HyperLogLogs使用介绍
A HyperLogLog is a probabilistic data structure used in order to count unique things (technically this is referred to estimating the cardinality of a set). Usually counting unique items requires usi翻译 2017-06-06 16:12:05 · 5084 阅读 · 0 评论 -
redis中bitmaps使用介绍
redis中有两个主要用于统计的数据结构bitmaps和hyperloglogs。bitmaps:下面是官网对于bitmaps介绍的中文翻译Bitmaps are not an actual data type, but a set of bit-oriented operations defined on the String type. Since strings are翻译 2017-06-06 14:19:16 · 2015 阅读 · 1 评论 -
PHP如何知道一个类中所有的方法
当我们使用一个类时既没有源码也没有文档时(尤其是php扩展提供的类,比如mysqli,Redis类),我们该怎么知道这个类中提供了哪些方法,以及每个方法该怎么使用呢,此时就该PHP中强大的反射登场了,下面以Redis扩展为例用代码演示:<?php$ref = new ReflectionClass('Redis');$consts = $ref->getConstants(); //返原创 2017-06-08 19:54:14 · 4497 阅读 · 0 评论