用nodejs写一个简单的Redis客户端

用nodejs写一个简单的Redis客户端
前言:今天一天在折腾用LUA脚本一次性返回车队集合(set)中的司机位置(hash),因为跨类型获取,新建多个redis实例循环可能更加耗费资源于是便想到用lua脚本来操作一次性返回所有内容,“all in the memory”,这样在redis的lua脚本解析器中执行能减去通信的消耗,lua不会写起来费劲,最后勉强采用神一样的拼接返回了。这个脚本语言真……继续阅读 »

cyanprobe 9年前 (2016-09-12) 3782浏览 0评论1个赞

Redis 实现定时任务的思路【来自geemo】

Redis 实现定时任务的思路【来自geemo】
前言:之前,在折腾的小项目里用到一个计时器的项目。背景:订单在20min后若没有被答复,实现一个推送事件。之前准备用cron模块,后来发现模块可能达不到要求,需要多个实例,而且不能销毁上一个实例(终止计时)。接下来看一下geemo抄别的博客大神的背景。本文所说的定时任务或者说计划任务并不是很多人想象中的那样,比如说每天凌晨三点自动运行起来跑一个脚本。这……继续阅读 »

cyanprobe 9年前 (2016-07-30) 8875浏览 2评论1个赞

Redis 列表(LIST)详撸-笔记

Redis 列表(LIST)详撸-笔记
前言:列表类型(LIST)可以储存一个有序字符串,常用的方法是从两端进行元素操作,也可以获取某一个片段,不过大量数据的索引存在瓶颈(不建议那么做)。列表类型内部使用双向链表(double linked list)实现的,因此从几千万个元素的两端获取的获取元素,其效率与从10个元素两端获取效率是相同的。应用场景分析:例如微博,空间,新鲜事消息推送等。因为……继续阅读 »

cyanprobe 9年前 (2016-07-20) 3348浏览 0评论0个赞

Redis优先级队列的实现方式

Redis优先级队列的实现方式
前言:今天有人谈到进程调度,可能要折腾,开脑洞想了想,不管如何都要用到优先级队列,然后自然想到Redis的列表。要想身体好,文档看到老。前言:实现优先级队列的方法  1.Sorted-Sets,2.LIST实现。1.Sorted-Sets实现科普:Sorted-Sets和Sets类型极为相似,它们都是字符串的集合,都不允许重复的成员出现在一个Se……继续阅读 »

cyanprobe 9年前 (2016-06-21) 4784浏览 0评论0个赞

Redis 基础(四)——list列表

Redis 基础(四)——list列表
内容开始: 1    LPUSH的作用是将一个或多个值 value 插入到列表 key 的表头,基本语法:LPUSH key value [value …]例如:LPUSH friend chaiquan //若存在多个value 将按照从左到右的顺序插入 如 LPUSH point a b c 则实为  c b a2    L……继续阅读 »

cyanprobe 9年前 (2016-04-09) 3479浏览 0评论0个赞

Redis 基础(三) ——Hash

Redis 基础(三) ——Hash
前言:Redis的哈希值是字符串字段和字符串值之间的映射。相比string等数据类型,它提供很多方便的域操作,因此在表示对象时,它是非常适合的数据类型。主要方法:1.     在 redis 中,使用HSET命令来将哈希表 key 中的域 field 的值设为 value ,语法如下: HSET key field value例如:HSET site……继续阅读 »

cyanprobe 9年前 (2016-04-08) 3106浏览 0评论0个赞

Redis 基础 (二)——String

Redis 基础 (二)——String
内容开始:1.   SETEX指令的作用是将值 value 关联到 key ,并将 key 的生存时间设为 seconds ( 以秒为单位)。如果 key 已经存在,SETEX命令将覆写旧值,语法格式:例如: SETEX name 60  “ren gou”  //建立了一个60秒生存期的键值name->”ren……继续阅读 »

cyanprobe 9年前 (2016-04-08) 3172浏览 0评论1个赞

Redis 数据库入门,基础(一)

Redis 数据库入门,基础(一)
前言:Redis是非常火的一个高性能的key-value数据库,之前接触是用来持久化session,其实这玩意还可以方便的充当计数器,快速跨进程通信等。高性能的内存数据库,这是发布的一些数据:测试完成了50个并发执行100000个请求。结果:读的速度是110000次/s,写的速度是81000次/s 。所有操作都是原子性的,看到这个想到了什么,对的,无脑刷脚……继续阅读 »

cyanprobe 9年前 (2016-04-08) 3366浏览 0评论0个赞

express4.X connect-mongo/redis 模块使用

express4.X connect-mongo/redis 模块使用
前言:表示很纠结的又是一上午,这里以connect-mongo为例子来说下express4.x版本使用connect-mongo的一些问题。express4.x移除了express-session的支持,所以先npm express-session把模块安装完毕。过程:在app.js中添加:var app = express();app.use(c……继续阅读 »

cyanprobe 9年前 (2016-02-04) 4686浏览 1评论0个赞