对象 Redis

Redis 数据库客户端对象

用以创建和管理 Redis 数据库,创建方法:

var db = require("db");
var test = new db.openRedis("redis-server");

继承关系

成员属性

onsuberror

Function, 查询和设置错误处理函数,当 sub 出现错误或者网络中断时回调,当回调发生后,本对象的一切 sub 都将中止

Function Redis.onsuberror;

成员函数

command

redis 基础命令方法

Value Redis.command(String cmd,
    ...);

调用参数:

返回结果:


set

将字符串值 value 关联到 key,如果 key 已经持有其他值, SET 就覆写旧值,无视类型

Redis.set(Buffer key,
    Buffer value,
    Long ttl = 0);

调用参数:


setNX

将 key 的值设为 value ,当且仅当 key 不存在。若给定的 key 已经存在,则 SETNX 不做任何动作。

Redis.setNX(Buffer key,
    Buffer value,
    Long ttl = 0);

调用参数:


setXX

将 key 的值设为 value,只在键已经存在时,才对键进行设置操作。

Redis.setXX(Buffer key,
    Buffer value,
    Long ttl = 0);

调用参数:


mset

同时设置一个或多个 key-value 对。如果某个给定 key 已经存在,那么 MSET 会用新值覆盖原来的旧值

Redis.mset(Object kvs);

调用参数:


同时设置一个或多个 key-value 对。如果某个给定 key 已经存在,那么 MSET 会用新值覆盖原来的旧值

Redis.mset(...);

调用参数:


msetNX

同时设置一个或多个 key-value 对,当且仅当所有给定 key 都不存在

Redis.msetNX(Object kvs);

调用参数:


同时设置一个或多个 key-value 对,当且仅当所有给定 key 都不存在

Redis.msetNX(...);

调用参数:


append

如果 key 已经存在并且是一个字符串,append 命令将 value 追加到 key 原来的值的末尾。如果 key 不存在,append 就简单地将给定 key 设为 value

Integer Redis.append(Buffer key,
    Buffer value);

调用参数:

返回结果:


setRange

用 value 参数覆写给定 key 所储存的字符串值,从偏移量 offset 开始

Integer Redis.setRange(Buffer key,
    Integer offset,
    Buffer value);

调用参数:

返回结果:


getRange

返回 key 中字符串值的子字符串,字符串的截取范围由 start 和 end 两个偏移量决定(包括 start 和 end 在内)

Buffer Redis.getRange(Buffer key,
    Integer start,
    Integer end);

调用参数:

返回结果:


strlen

返回 key 所储存的字符串值的长度。当 key 储存的不是字符串值时,返回一个错误

Integer Redis.strlen(Buffer key);

调用参数:

返回结果:


bitcount

计算给定字符串中,被设置为 1 的比特位的数量

Integer Redis.bitcount(Buffer key,
    Integer start = 0,
    Integer end = -1);

调用参数:

返回结果:


get

返回 key 所关联的字符串值,如果 key 不存在那么返回特殊值 Null

Buffer Redis.get(Buffer key);

调用参数:

返回结果:


mget

返回所有(一个或多个)给定 key 的值。如果给定的 key 里面,有某个 key 不存在,那么这个 key 返回特殊值 nil 。

List Redis.mget(Array keys);

调用参数:

返回结果:


返回所有(一个或多个)给定 key 的值。如果给定的 key 里面,有某个 key 不存在,那么这个 key 返回特殊值 nil 。

List Redis.mget(...);

调用参数:

返回结果:


getset

将给定 key 的值设为 value ,并返回 key 的旧值(old value)

Buffer Redis.getset(Buffer key,
    Buffer value);

调用参数:

返回结果:


decr

将 key 所储存的值减去减量

Long Redis.decr(Buffer key,
    Long num = 1);

调用参数:

返回结果:


incr

将 key 所储存的值加上增量

Long Redis.incr(Buffer key,
    Long num = 1);

调用参数:

返回结果:


setBit

对 key 所储存的字符串值,设置或清除指定偏移量上的位(bit)

Integer Redis.setBit(Buffer key,
    Integer offset,
    Integer value);

调用参数:

返回结果:


getBit

对 key 所储存的字符串值,获取指定偏移量上的位(bit)

Integer Redis.getBit(Buffer key,
    Integer offset);

调用参数:

返回结果:


exists

检查给定 key 是否存在

Boolean Redis.exists(Buffer key);

调用参数:

返回结果:


type

返回 key 所储存的值的类型

String Redis.type(Buffer key);

调用参数:

返回结果:


keys

查找所有符合给定模式 pattern 的 key

List Redis.keys(String pattern);

调用参数:

返回结果:


del

删除给定的一个或多个 key,不存在的 key 会被忽略

Integer Redis.del(Array keys);

调用参数:

返回结果:


删除给定的一个或多个 key,不存在的 key 会被忽略

Integer Redis.del(...);

调用参数:

返回结果:


expire

为给定 key 设置生存时间,当 key 过期时,它会被自动删除

Boolean Redis.expire(Buffer key,
    Long ttl);

调用参数:

返回结果:


ttl

返回给定 key 的剩余生存时间

Long Redis.ttl(Buffer key);

调用参数:

返回结果:


persist

移除给定 key 的生存时间,将这个 key 从『易失的』(带生存时间 key )转换成『持久的』(一个不带生存时间、永不过期的 key)

Boolean Redis.persist(Buffer key);

调用参数:

返回结果:


rename

将 key 改名为 newkey,当 key 和 newkey 相同,或者 key 不存在时,返回一个错误

Redis.rename(Buffer key,
    Buffer newkey);

调用参数:


renameNX

当且仅当 newkey 不存在时,将 key 改名为 newkey,当 key 不存在时,返回一个错误

Boolean Redis.renameNX(Buffer key,
    Buffer newkey);

调用参数:

返回结果:


sub

订阅给定的一个频道的信息,当消息发生时自动调用 func,func 包含两个参数,依次为 channel 和 message,同一频道同一函数只会回调一次

Redis.sub(Buffer channel,
    Function func);

调用参数:


订阅给定的一组频道的信息,当消息发生时自动调用相应的回调函数,同一频道同一函数只会回调一次

Redis.sub(Object map);

调用参数:


unsub

退订给定的频道的全部回调

Redis.unsub(Buffer channel);

调用参数:


退订给定的频道的指定回调函数

Redis.unsub(Buffer channel,
    Function func);

调用参数:


退订一组给定的频道的全部回调

Redis.unsub(Array channels);

调用参数:


退订给定的一组频道的指定回调函数

Redis.unsub(Object map);

调用参数:


psub

按照模板订阅一组频道的信息,当消息发生时自动调用 func,func 包含三个参数,依次为 channel,message 和 pattern,同一模板同一函数只会回调一次

Redis.psub(String pattern,
    Function func);

调用参数:


订阅给定的一组频道模板的信息,当消息发生时自动调用相应的 func,同一频道同一函数只会回调一次

Redis.psub(Object map);

调用参数:


unpsub

退订给定模板的频道的全部回调

Redis.unpsub(String pattern);

调用参数:


退订给定模板的频道的指定回调函数

Redis.unpsub(String pattern,
    Function func);

调用参数:


退订一组给定模板的频道的全部回调

Redis.unpsub(Array patterns);

调用参数:


退订一组模板的频道的指定回调函数

Redis.unpsub(Object map);

调用参数:


pub

将信息 message 发送到指定的频道 channel

Integer Redis.pub(Buffer channel,
    Buffer message);

调用参数:

返回结果:


getHash

获取指定 key 的 Hash 对象,此对象为包含指定 key 的客户端,只有调用其方法才会操作数据库

RedisHash Redis.getHash(Buffer key);

调用参数:

返回结果:


getList

获取指定 key 的 List 对象,此对象为包含指定 key 的客户端,只有调用其方法才会操作数据库

RedisList Redis.getList(Buffer key);

调用参数:

返回结果:


getSet

获取指定 key 的 Set 对象,此对象为包含指定 key 的客户端,只有调用其方法才会操作数据库

RedisSet Redis.getSet(Buffer key);

调用参数:

返回结果:


getSortedSet

获取指定 key 的 SortedSet 对象,此对象为包含指定 key 的客户端,只有调用其方法才会操作数据库

RedisSortedSet Redis.getSortedSet(Buffer key);

调用参数:

返回结果:


dump

序列化给定 key ,并返回被序列化的值,使用 restore 命令可以将这个值反序列化为 Redis 键

Buffer Redis.dump(Buffer key);

调用参数:

返回结果:


restore

反序列化给定的序列化值,并将它和给定的 key 关联

Redis.restore(Buffer key,
    Buffer data,
    Long ttl = 0);

调用参数:


close

关闭当前数据库连接或事务

Redis.close();

dispose

强制回收对象,调用此方法后,对象资源将立即释放

Redis.dispose();

equals

比较当前对象与给定的对象是否相等

Boolean Redis.equals(object expected);

调用参数:

返回结果:


toString

返回对象的字符串表示,一般返回 "[Native Object]",对象可以根据自己的特性重新实现

String Redis.toString();

返回结果:


toJSON

返回对象的 JSON 格式表示,一般返回对象定义的可读属性集合

Value Redis.toJSON(String key = "");

调用参数:

返回结果:


valueOf

返回对象本身的数值

Value Redis.valueOf();

返回结果: