Object 內置對象

對象RedisHash

Redis 數據庫客戶端Hash 對象,此對象為包含指定key 的客戶端,只有調用其方法才會操作數據庫

用以操作 Redis 的Hash 對象,創建方法:

1 2 3
var db = require("db"); var rdb = new db.openRedis("redis-server"); var hash = rdb.getHash("test");

繼承關係

#lineWidth: 1.5 #font: Helvetica,sans-Serif #fontSize: 10 #leading: 1.6 #.this: fill=lightgray #.class: fill=white [<class>object|toString();toJSON()] [<this>RedisHash|set();setNX();mset();get();mget();incr();getAll();keys();len();exists();del()] [object] <:- [RedisHash] object toString() toJSON() RedisHash set() setNX() mset() get() mget() incr() getAll() keys() len() exists() del()

成員函數

set

將哈希表中的域field 的值設為value,如果域field 已經存在於哈希表中,舊值將被覆蓋

1 2
RedisHash.set(Buffer field, Buffer value);

調用參數:

  • field: Buffer, 指定要修改的field
  • value: Buffer, 指定要修改的數據

setNX

將哈希表中的域field 的值設置為value ,當且僅當域field 不存在。若域field 已經存在,該操作無效

1 2
RedisHash.setNX(Buffer field, Buffer value);

調用參數:

  • field: Buffer, 指定要修改的field
  • value: Buffer, 指定要修改的數據

mset

同時將多個field-value (域-值)對設置到哈希表中,此命令會覆蓋哈希表中已存在的域

1
RedisHash.mset(Object kvs);

調用參數:

  • kvs: Object, 指定要設置的field/value 對象

同時將多個field-value (域-值)對設置到哈希表中,此命令會覆蓋哈希表中已存在的域

1
RedisHash.mset(...kvs);

調用參數:

  • kvs: ..., 指定要設置的field/value 列表

get

返回哈希表中給定域field 的值

1
Buffer RedisHash.get(Buffer field);

調用參數:

  • field: Buffer, 指定要查詢的field

返回結果:

  • Buffer, 給定域的值,當給定域不存在或是給定key 不存在時,返回null

mget

返回哈希表中,一個或多個給定域的值

1
NArray RedisHash.mget(Array fields);

調用參數:

  • fields: Array, 指定要查詢的域數組

返回結果:

  • NArray, 一個包含所有給定域的值的列表

返回哈希表中,一個或多個給定域的值

1
NArray RedisHash.mget(...fields);

調用參數:

  • fields: ..., 指定要查詢的域列表

返回結果:

  • NArray, 一個包含所有給定域的值的列表

incr

將域所儲存的值加上增量

1 2
Long RedisHash.incr(Buffer field, Long num = 1);

調用參數:

  • field: Buffer, 指定要修改的域
  • num: Long, 指定要加上的數值

返回結果:

  • Long, 加上num 之後,域的值

getAll

返回哈希表中,所有的域和值

1
NArray RedisHash.getAll();

返回結果:

  • NArray, 返回一個包含哈希表中所有域的列表

keys

返回哈希表中的所有域

1
NArray RedisHash.keys();

返回結果:

  • NArray, 返回值裡,緊跟每個域名(field name)之後是域的值(value),所以返回值的長度是哈希表大小的兩倍

len

返回哈希表中域的數量

1
Integer RedisHash.len();

返回結果:

  • Integer, 返回哈希表中域的數量

exists

查看哈希表中,給定域field 是否存在

1
Boolean RedisHash.exists(Buffer field);

調用參數:

  • field: Buffer, 指定要查詢的field

返回結果:

  • Boolean, 如果哈希表含有給定域,返回true,如果哈希表不含有給定域,或key 不存在,返回false

del

刪除哈希表中的一個或多個指定域,不存在的域將被忽略

1
Integer RedisHash.del(Array fields);

調用參數:

  • fields: Array, 指定要刪除的域數組

返回結果:

  • Integer, 被刪除域的數量

刪除哈希表中的一個或多個指定域,不存在的域將被忽略

1
Integer RedisHash.del(...fields);

調用參數:

  • fields: ..., 指定要刪除的域列表

返回結果:

  • Integer, 被刪除域的數量

toString

返回對象的字符串表示,一般返回"[Native Object]",對象可以根據自己的特性重新實現

1
String RedisHash.toString();

返回結果:

  • String, 返回對象的字符串表示

toJSON

返回對象的JSON 格式表示,一般返回對象定義的可讀屬性集合

1
Value RedisHash.toJSON(String key = "");

調用參數:

  • key: String, 未使用

返回結果:

  • Value, 返回包含可JSON 序列化的值